전체 글(95)
-
[DL] 3.1. Advanced Optimization (Momentum, RMSprop, Adam)
이번 글에서는, (mini-batch) SGD의 단점을 살펴보고, 이를 보완한 최적화 기법 Momentum, RMSprop 그리고 마지막으로 이 둘을 합친 Adam에 대해 알아볼 것이다. SGD의 단점1. (mini-batch) SGD는 비등방성 함수에서 불필요한 움직임을 많다. 즉, 탐색(=학습) 경로가 매우 비효율적이다.왜냐하면, 현재 위치에서 가장 가파른 방향은 현재 위치에서의 등고선과 수직인 방향이기 때문이다. 비등방성(Anisotropy) 함수는 각 위치에서의 기울기가 가리키는 지점이 하나가 아니라 여러 개인 함수다.등고선(Contour)은 같은 함수값을 가지는 모든 지점을 연결한 선이다. 2. (mini-batch) SGD는 위험한 기법이다.예를 들어, "눈을 가린 채 하산을 하고 있다"고 가..
2024.02.13 -
[DL] 3. Optimization (GD, SGD)
저번 글에서, "손실 함수"가 무엇인지 대해 알아봤다.그리고, 손실 함수를 활용해 최적의 매개변수를 구하는 무식한(?) 방법 두 가지에 대해서도 살펴봤다. 첫번째, 매개변수를 일일이 바꿔가며 손실값이 가장 낮은 매개변수를 찾는다.위 방식은 시간이 매우 오래 걸리는 매우 무식한 방법이다. 두번째, "손실 함수(Loss(a,b)">Loss(($\hat\theta$)의 도함수를 구해 미분값이 0이 되는 부분을 찾는다.위 방식도 매우 비효율적이다. 왜냐하면, 함수가 복잡해질수록 도함수 구하기가 매우 어려워지기 때문이다. 이번 글에서는, 위 방식보다 더 빠르고 효율적이게 최적의 매개변수($\hat\theta$)를 구하는 방법에는 무엇이 있는지 알아볼 것이다. 1. 경사 하강법(Gradient Descent)경사 ..
2024.02.10 -
[DL] 2. Loss Function (MSE, CEE)
저번 글에서, (인공) 신경망이 무엇인지 알아보았다. 그럼 지금부터, 어떻게 (인공) 신경망으로 문제를 풀 수 있는지 예시를 통해 알아보겠다.예시: 칼바람 1대1 승패 예상A와 B의 롤 티어와 플레이할 챔피언의 숙련도가 주어졌을 때, 칼바람 1대1 승패를 예측하는 문제를 (인공) 신경망으로 풀어보자!다시 말해, 2명의 롤 티어와 챔피언 숙련도가 입력값으로 주어졌을 때, 칼바람 1대1 승패를 출력값으로 반환하는 (인공) 신경망을 만들어보자! 신경망 설계우선, 신경망을 설계해야 한다.어떤 특징을 추출해야 문제풀이에 도움이 될지 모르겠지만,아래 방식으로 특징을 추출하면 문제풀이에 도움이 되는 특징을 얻을 수 있다고 추정했다.$h$ = $a\times$(A 티어) + $b\times$(A의 챔피언 숙련도) + ..
2024.02.08 -
[ML] AI vs ML vs DL
인공지능(AI)은 크게 두 단계를 걸쳐 만들어진다.1). 풀고자 하는 문제를 잘 파악하여 적절한 모델(=함수) 구조(=형태)을 추정한다. (e.g., 선형 함수, K-NN, 결정 트리)2). 해당 모델 구조의 파라미터를 구한다. (e.g., 선형 함수면 모든 계수, K-NN이면 모든 데이터셋, 결정 트리면 모든 규칙) ML 이전의 인공지능 모델은 "규칙 기반 알고리즘"이였다. 다시 말해, 인간이 "모델 구조 추정"과 "파라미터 계산"을 직접했다.하지만, ML은 "파라미터 계산"을 컴퓨터가 대신한다. 물론 아직까지 "모델 구조 추정"은 인간이 한다.(참고로, 파라미터를 구하는 방법 즉, 최적화 기법(e.g., gradient descent)도 사람이 컴퓨터에게 알려줘야 한다.) 그럼, 인공지능의 모델 구조..
2024.02.04 -
[DL] 1. What is Neural Network?
신경망이 무엇인지 알기 위해선 신경망의 기원인 퍼셉트론에 대해 집고 넘어가야 한다.1. 퍼셉트론퍼셉트론(=perceptron)은 "사람의 뇌 신경세포 뉴런의 동작 과정에 영감을 받아 만든 수학적 모델"로,"다수의 신호(0/1)를 입력으로 받아 하나의 신호(0/1)를 출력하는 모델"을 의미한다.(참고로, 여기서 이야기하는 퍼셉트론은 "인공 뉴런" 혹은 "단순 퍼셉트론"을 의미한다.) 위 그림은 2개의 입력 신호를 받은 퍼셉트론이다.$x_1$과 $x_2$는 입력 선호, $w_1$과 $w_2$는 기중치(=weight)를 뜻한다.(참고로, 원은 노드(=node) 혹은 뉴런(=neuron), 선은 엣지(=edge)라고 부른다.) 그럼 퍼셉트론이 어떤 방식으로 작동하는지 아래 식을 통해 알아보자. $$f(x_1,..
2024.02.02 -
[ML] 2. Linear Regression
선형 회귀(=linear regression)는 가장 기본적인 ML 기법이다.(정확히 설명하자면, 선형 회귀는 통계학에서 온 기법이다.) 그럼 "회귀"가 무엇을 뜻하는지부터 살펴보자! 회귀란 "여러 개의 독립변수(=입력)와 한 개의 종속변수(=출력) 간의 상관관계를 추정"하는 기법을 의미하며,선형 회귀는 "입출력 간의 상관관계를 선형으로 가정하고 추정"하는 기법을 의미한다.참고로, 회귀의 모든 변수는 연속성 변수이다. 다시 말해, 선형 회귀는 입출력 데이터를 보고, 입출력 관계를 가장 잘 표현한 선형함수($y = w_1x_1 + w_2x_2 + \cdots + w_nx_n + b$)를 찾는 것이 목표이다.즉, "최적의 $w_1, w_2, \cdots, w_n$와 $b$를 찾는 것"이 선형 회귀이다.(참고..
2024.01.30