2020/10/22 - [Study/인공지능] - Optimizer: SGD ( 인공지능 기초 #13 ) 2020/10/23 - [Study/인공지능] - Optimizer : Momentum, NAG ( 인공지능 기초 #14 ) 2020/10/24 - [Study/인공지능] - Optimizer : AdaGrad, RMSprop ( 인공지능 기초 # 15 ) 2020/10/25 - [Study/인공지능] - Optimizer : Adam ( 인공지능 기초 # 16 ) 경사하강법 : 가장 가파른곳으로 가다가 최소점이라고 생각되는곳을 찾기를 바람 (문제점 : 가장 아래가 아닌 중간에 잠깐 다시 올라가는 구간이있으면 멈춰버림, 또는 안장점에서 멈춤) ↓ 관성을 생각하자 Momentum : 경사하강법에 관성 ..
2020/10/24 - [Study/인공지능] - Optimizer : AdaGrad, RMSprop ( 인공지능 기초 # 15 ) Momentum과 RMSProp 두가지 방식을 합쳐 놓은 옵티마이저 입니다. 따라서 복잡하지만, 현재 가장 많이 쓰이는 옵티마이저 입니다. 가중치 B1으로 Momentum을 변형하여 점화식 [직전의 속도값 고려 (관성고려)] 을 생각하고 가중치 B2로 AdaGrad를 변형하여 점화식 을 생각합니다. 베타1과 베타2는 일반적으로 0.9나 0.99와 같은 1에 굉장히 가까운 숫자로 둡니다. 이때문에 초기값이 0인것에 영향을 받아 0에 편향된다. 그래서 이를 보정작업을 실시합니다. m은 관성과 그레디언트를 내분한 것 매우 복잡하다.. 복잡하긴 한데, ./././ 각 장점을 섞어놓..
2020/10/23 - [Study/인공지능] - Optimizer : Momentum, NAG ( 인공지능 기초 #14 ) learning rate가 변수마다 스텝마다 바뀝니다. 처음 시작점부터 최소점까지는 멀기 때문에 성큼성큼가다가 (보폭을 크게) 시간이 지나면 점점 목적지에 다가가게 되니까 보폭을 작게 조정합니다. 큰 변화를 겪은 변수의 러닝레이트는 크게 작아지고, 작은 변화를 겪은 변수의 러닝레이트는 작게 작아집니다. ( 이유는 x 와 y가 있을때 x축으로 더 크게 이동했다면, y축은 아직 먼 가능성이 높고 x축은 목표에 가까워 졌을 가능성이 높아졌다고 보기 때문입니다. ) Hadamard product 라는 기호입니다. 연산은 아래와 같습니다 ( 각 행렬의 위치를 덧셈처럼 위치마다 곱한값이 결과..
2020/10/22 - [Study/인공지능] - Optimizer: SGD ( 인공지능 기초 #13 ) 물리계에서는 공이 굴러가는 방향은 중력뿐 아니라 기존의 관성에도 영향을 받습니다. Momentum은 현실 물리계에서 관성이 모티브입니다. Momentum은 Gradient Descent에 현재의 관성을 추가하여 생각합니다. 경사하강법의 문제점 현실에서 실제로 공을 굴렸다고 생각한다면, 첫번째 로컬 미니멈의 최소에 멈추지않고 관성을따라 오른쪽으로 더 움직였을 것입니다. (즉 글로벌 미니멈에 다가갈 수 있습니다.) 이러한 관성의 특징으로 안장점에서도 멈추지않고 글로벌 미니멈을 향해 다가갈 수 있습니다. 등위선에서도 SGD보다 더 효율적으로 (적은 진동으로) 목표지점에 다가가는 것을 볼 수 있습니다. 이유..
2020/10/19 - [Study/인공지능] - Affine층 역전파 ( 인공지능 기초 #12 ) 심층신경망에서 층을 깊게 쌓으면 몇가지 심각한 문제가 발생하는데, 그러한 문제를 어떻게 해결할지 해결하지 못한다면 어떻게 억제할 지 공부해봅니다. Optimizer : 어떻게 하면 산을 잘 타고 내려갈까? [경사하강법] 손실함수는 낮으면 낮을수록 좋습니다. (손실함수 = 크로스 엔트로피) 크로스 엔트로피의 변수는 가중치와 편향 입니다. MNIST 기준 39760 개입니다. 39760개의 연립방정식을 푸는것은 말이 안되기 때문에, 경사하강법을 이용해 최소가 되는 지점을 찾아갑니다. 2020/10/19 - [Study/인공지능] - 경사하강법 (인공지능 기초 #9) 경사하강법 (인공지능 기초 #9) 손실함수는..