ML study 13

[네이버AI class] 6주차 (5) - 정규화 (Regularization)

Regularization  정규화는 모델의 일반화 능력을 향상시키기 위한 중요한 기법중 하나로, 모델이 학습데이터에만 맞춰진 overfitting 학습을 방해 및 규제하여, 일반화 증진을 하는 것이 그 목적이다.즉 모델이 학습 데이터에만 잘 적용되는 것이 아니라 테스트 데이터나 실제 새로운 데이터에도 잘 일반화되도록 모델을 조정하는 과정이다. 아래 다양한 종류의 정규화 기법들을, 실제 딥러닝 모델링 할때 상황에 맞게 취사 선택해가면서 적용해볼 수 있다.   1) Early stopping Early stopping은 모델이 과적합될 때 학습을 조기에 멈추는 기법이다.학습을 멈출때에 validation 에러를 이용해서, training에 포함되지 않은 valid 데이터의 loss가 커지기 시작하는 시점에..

ML study 2024.06.04

[네이버AI class] 6주차 (4) - 경사하강법 & Optimizer 종류

경사 하강법의 종류   경사 하강법(Gradient Descent)은 모델을 학습시킬 때 사용되는 최적화 알고리즘 중 하나이며, 경사하강법은 세가지 종류가 있다. 데이터 학습시 한번의 업데이트에 데이터를 얼마나 많이 사용하는지에 따라 분류된다고 볼 수 있다. 실제로는 많은 경우 Mini-Batch 경사하강법을 활용한다.  1)  Stochastic Gradient Method  한번에 하나의 데이터 포인트를 사용하여 업데이트한다. 각 훈련 데이터 포인트에 대해 손실 함수의 그래디언트를 계산하고, 이를 사용하여 매개변수를 업데이트하는 방법이다.각 데이터 포인트를 한 번에 처리하기 때문에 계산 속도가 빠르고 대규모 처리가 가능하나, 불안정성이 높고 오래 걸릴 수 있다.  2) Mini-batch Gradie..

ML study 2024.06.04

[네이버AI class] 6주차 (3) - 최적화 주요 용어

Optimization 은 매우 크고 광범위한 주제이지만, 실제 Optimization 작업을 할 때 꼭 알아야 할 개념들을 중심으로만 소개한 내용    1. Gradient Descent  경사 하강법 - 그것이 줄어 들었을때 Optima를 찾을 수 있을 것이라 기대되는 Loss function이 존재하고, 찾고자 하는 파라미터의 편미분을 이용해서 loss function을 줄이는 방향으로 학습을 하는 것 ('First-order iterative optimization algrithm for finding a local minimum of a differentiable function)    2. Generalization  많은 경우, 모델의 일반화 성능을 높이는 것이 모델링의 목적이 됨. Trai..

ML study 2024.06.03

[네이버AI class] 6주차 (2) - MLP 뉴럴 네트워크

Neural Networks가장 간단한 형태의 뉴럴 네트워크를 알아보고, 딥러닝 학습이 무엇인지를 알아보자.우선 뉴럴 네트워크란 무엇인가?  설명 1 - 뇌와의 연관성   뉴럴 네트워크란, 인간/동물의 뇌의 뉴런 구조에서 영감을 받아 설계된 컴퓨팅 시스템으로,데이터 패턴을 인식하고 학습하는 데 사용된다.("Neural networks are computing systems vaguely inspired by the biological neural networks that constitute animal brains")인간의 뉴런을 구성하는 생물학적 요소들을 비유적으로 따오긴 했지만, 완벽히 인간의 뇌를 닮은 구조를 만들어서 성능이 좋은 모델을 개발했다기엔 어려운 지점이 있음. 개념적으로 뇌의 작동과 다..

ML study 2024.06.03

[네이버AI class] 6주차 (1) - 딥러닝 기본 및 Historical review

딥러닝 기본 딥러닝을 학습 할 때 중요한 것 - Implementation skill이 중요 : Pytorch, Tensorflow- 수학적인 배경 : 선형대수, 확률론 중요 - 트렌드 논문들 및 연구들을 확인하는 것 중요  딥러닝은 neural network를 활용하는 머신러닝으로 , AI의 기법중 하나로 보면 됨.딥러닝의 기본 요소 : 데이터 + 모델  + 손실함수 + 최적화 알고리즘  1) 데이터 (Data) : 풀고자하는 문제에 따라 다름(ex. image classification, semantic segmentation, detection, pose estimation, visual q&a)  2) 모델 (Model) : 이미지, 텍스트 등 데이터가 주어졌을 때 그 데이터를 변환 및 분석하는 ..

ML study 2024.06.02

[네이버AI class] 4주차 (1) - 확률론

딥러닝과 확률론  딥러닝을 이해하기 위해서는 확률론을 이해해야 한다.특히 머신러닝의 loss function (손실함수) 작동원리가 데이터 공간을 통계적으로 해석하는 것을 전제하기 때문에, == '예측이 틀릴 위험 (risk)이 최소화 하도록 학습하는 원리' 개념에 확률론이 필요한 것. ex. 회귀 문제 - L2 Norm의 손실함수는, 예측 오차의 분산을 가장 최소화 하는 방향으로 학습을 유도한다ex. 분류 문제 - 분류에서의 교차엔트로피(Cross Entropy)는 모델 예측의 불확실성을 최소화 하는 방향으로 학습을 유도한다 이처럼 회귀 문제이든 분류 문제이든, 머신러닝에서의 손실함수(loss function)은데이터의 분포와 모델 예측 분포의 차이를 최소화 하는 방향으로 학습하는, 확률론 기반 학습이..

ML study 2024.05.21

[네이버AI class] 3주차 (4) 딥러닝 학습 원리

앞선 (3)에서는 데이터를 선형 모델로 해석하고, 경사하강법으로 학습하는 방법을 확인 했다. 선형 회귀가 아닌 더 복잡한 예측을 위해서는 선형모델만으로는 부족, 비선형 모델이 필요한데, 이제부터는 비선형 모델인 신경망에 대해 알아보도록 한다.선형 모델 경사하강법 강의는 아래 참고 https://ysryuu.tistory.com/64 [네이버AI class] 3주차 (3) - 경사하강법미분 (differentiation)미분이란 '한 점에서의 기울기' 이다.이는 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로, 최적화에서 많이 사용하는 기법이다.미분은 변화율의 극한으로 정의ysryuu.tistory.com신경망비선형 모델 비선형 모델은 입력과 출력간의 관계가 선형적이지 않은 모델이다. 즉 변수 ..

ML study 2024.05.20

[네이버AI class] 3주차 (3) - 경사하강법

미분 (differentiation)미분이란 '한 점에서의 기울기' 이다.이는 변수의 움직임에 따른 함수값의 변화를 측정하기 위한 도구로, 최적화에서 많이 사용하는 기법이다.미분은 변화율의 극한으로 정의하는데, 어떤 기울기를 계산할때, f(x+h) - f(x)를 h로 나눈 것, 이 변화율의 극한값이 미분이다.  미분을 구하는 코드는 아래와 같음. sympy 라이브러리를 활용해서,  그 안에 diff 기능을 계산한다 (도함수 구하기)딥러닝에서도 이렇게 수치적으로 미분 계산 및 최적화 해서 활용할 예정.import sympy as sp# 변수 및 함수 정의x = sp.symbols('x') # 변수 x를 정의합니다.f = x**2 + 3*x + 2 # 미분할 함수를 정의합니다.# 함수를 x로 미분합니..

ML study 2024.05.20

[네이버AI class] 3주차 (2) - 행렬

행렬의 개념행렬이란?  행렬은 벡터를 원소로 가지는 2차원 배열이다.행렬에는 행과 열이 있다.벡터처럼 np.array로 나타낼 수 있는데, 아래처럼 numpy에서는 행벡터를 원소로 가지는배열 array으로 정의한다.행렬의 특정 행을 고정하면 행벡터, 특정 열을 고정하면 열벡터라 부른다. 행렬을 확장해서 n개의 행 벡터 * m 개의 성분으로 이루어지는 배열로 볼 수 있다.  (n x m 행렬)행렬은 대문자 볼드체로 (A) 표시하기도, 소문자 행렬을 함께 나타내어 표시하기도(aij) 한다.A = np.array([[1,2,3], [4,5,6], [7,8,9]])   전치 행렬 (Transpose Matrix) 전치행렬이란 행과 열의 인덱스가 바뀐 행렬이다. Xij 가 Xji..

ML study 2024.05.17