분류 전체보기 (155) 썸네일형 리스트형 [ML] 딥러닝 1 - 11강 계산 그래프 Intro. 수치미분 vs 미분공식 + 연쇄법칙 역전파는 미분공식과 연쇄법칙을 이용하여 미분 계산을 간단히 한 방식이다. 후자의 경우가 더 계산이 간단하다는 것은 간단히 생각해봐도 알 수 있는 사실이다. 이전 글에서 비유한 것 처럼, 수치미분은 미분의 정의를 그대로 적용한 것이고 역전파가 '역'전파인 이유..? 🤔 by 교수님 피셜 이를 위해선 밖에 있는 함수 먼저 미분하고 이후에 안의 함수를 미분해야 하는데, ex. h(g(f(x))) → h'(g(f(x)))g'(f(x))f'(x) 이 방향이 역방향 같다고 생각되어 '역' 전파라 불리게 되었다. 역전파에서 연쇄법칙을 적용할 때, 흔히 '겉미분 후 속미분(합성함수 미분)'이라 불리는 공식을 적용해야 한다. 계산 그래프 역전파의 원리를 계산 그래프로 이해.. [ML] 딥러닝 1 - 10강 수치미분을 통한 학습 구현 ※ 본 글은 한경훈 교수님의 머신러닝 강의를 정리, 보충한 글입니다. ※ [딥러닝I] 10강. 수치미분을 통한 학습 구현 - YouTube 지금까지 배운 지식들을 동원해 MNIST 데이터 분류 모델을 학습시켜보자. 구현해야 하는 모델은 1. 2층 신경망이며, 각 층마다 뉴런의 개수는 784, 50, 10개이다. 2. 손실 함수는 교차 엔트로피이고 손실함수의 변수(편향와 가중치) 개수는 총 784 × 50 + 50 + 50 × 10 + 10 = 39,760 개다. 3. learning rate = 0.1 , 학습 회수 = 10,000로 설정한다. 4. 학습 회수만큼 반복하여 −𝑙⋅𝛻𝑓을 더하여 weight와 bias를 업데이트한다. MNIST 분류 모델 구현 # coding: utf-8 from commo.. [ML] 딥러닝 1 - 9강 경사하강법 ※ 본 글은 한경훈 교수님의 머신러닝 강의를 정리, 보충한 글입니다. ※ [딥러닝I] 9강. 경사하강법 - YouTube 지난 강의 복습 손실함수는 '예측값과 실제값의 차이를 수치화'하는 함수이다. 손실함수는 패널티로 작용되며, 손실함수가 작을수록 인공지능의 성능은 좋아진다. 따라서 모델이 학습을 하는 과정은 손실함수 값을 최소화하기 위한 과정이라고도 할 수 있다. 손실함수로는 평균 제곱오차 MSE 와 교차엔트로피가 있다. (이 책에서는 교차엔트로피만 사용함) 이런 손실함수도 결국에는 '함수' 이므로 당연히 변수를 갖는다. 그렇다면 이 손실'함수'의 변수는 무엇일까? 손실함수의 변수 가중치와 편향이 손실함수의 변수이고, 입력 데이터는 손실함수의 계수이다. cf. 함수에서 변수는 변할 수 있는 수이고, 계.. [ML] 딥러닝 1 - 8강 수치미분과 gradient ※ 본 글은 한경훈 교수님의 머신러닝 강의를 정리, 보충한 글입니다. ※ [딥러닝I] 8강. 수치미분과 gradient - YouTube 수치미분 우리가 고등학교때 배운 미분은 극한을 이용한 미분이었지만, 이를 컴퓨터에게 이해시키기는 매우 힘들다. ( 0 이 아니지만 한없이 0에 가까워진다는 극한의 개념을 수식으로 나타내기 힘들기 때문! ) 따라서 h를 극한으로 보내는 대신, 아주 작은 값(이 책에서는 0.0001)으로 잡아 값을 근사시킨다. 이때, h를 0.0001 보다 더 작은 수로 근사시키면, 반올림 오차때문에 0으로 인식되는 경우도 있으므로 주의해야 한다. 또한 f(x+h)-(x)/h 보다 f(x+h)-(x-h)/2h가 실제 미분값 f'(x)에 더 가까우므로 수치미분으로 f(x+h)-(x-h)/2.. [ML] 딥러닝 1 - 7강 엔트로피 ※ 본 글은 한경훈 교수님의 머신러닝 강의를 정리, 보충한 글입니다. ※ [딥러닝I] 7강. 엔트로피 - YouTube 이전 글 복습 앞서 배운 손실 함수는 '실제 값과 예측 값의 차이를 수치화'하는 함수였다. 손실 함수의 종류로는 1. 평균 제곱 오차 2. 교차 엔트로피가 있었다. 두 손실 함수 모두 두 확률분포(실제 vs 예측) 사이의 거리를 나타내는 함수이다. 이때 평균 제곱 오차의 경우 거리를 나타낸다는 사실을 직관적으로 받아들일 수 있는 반면 교차 엔트로피의 경우 한 번에 의미를 받아들이기 힘들다. 교차 엔트로피는 손실 함수로 자주 사용되는 함수이므로, 정보이론을 바탕으로 이를 설명하고자 한다 (증명 x). 엔트로피 정보이론에서 엔트로피는 불확실성을 수치화한 값이다. 다른 말로 이해하면 최적의 .. [ML] 딥러닝 1 - 6강 손실함수 ※ 본 글은 한경훈 교수님의 머신러닝 강의를 정리, 보충한 글입니다. ※ (5) [딥러닝 I] 6강. 손실 함수 - YouTube Rule-based vs Data-driven 딥러닝 이전 시대의 모델들은 인간이 설정한 규칙을 따라 데이터를 구분하였다. 예를 들어, 고양이를 판별하기 위해 고양이의 귀, 수염, 코의 정보를 얻는 알고리즘을 만들고 각각의 정보가 미리 설정한 규칙에 부합하는지로 고양이를 판별하였다. 이를 규칙 기반 방법 (Rule-based approach)이라 한다. 하지만 이러한 방법은 모든 고양이를 포괄할 규칙을 만들기 어려우며, 세부적인 규칙을 매번 설정해야 한다는 문제가 있다. 이러한 문제를 해결하기 위해 제시된 것이 데이터 기반 방법 (Data-driven approach)이다. .. [ML] 딥러닝 1 - 5강 신경망 구현 ※ 본 글은 한경훈 교수님의 머신러닝 강의를 정리, 보충한 글입니다. ※ (5) [딥러닝I] 5강. 신경망 구현 - YouTube 신경망 구현 MNIST 신경망을 우리가 만든 3층 퍼셉트론의 구조로 구현해보자. 📣 MNIST 신경망의 작동 원리 입력층에서 28*28(784) 차원의 벡터를 입력받아 affine 과 sigmoid 연산을 거치고 최종적으로 softmax 를 이용해 확률벡터를 출력해야 한다. 확률벡터에 argmax함수를 적용하면 확률벡터 중 값이 가장 큰 인덱스를 얻을 수 있는데, 확률벡터의 인덱스는 0-9 이고 확률벡터의 의미는 '데이터가 해당 정수일 확률'을 의미하므로 argmax에서 얻은 인덱스 값이 곧 모델이 예측한 정수이다. 마지막으로 예측한 정수와 테스트 데이터의 값을 비교하면 모델.. [ML] 딥러닝 1 - 4강 MNIST ※ 본 글은 한경훈 교수님의 머신러닝 강의를 정리, 보충한 글입니다. ※ [딥러닝 I] 4강. MNIST - YouTube MNIST 데이터셋 설명 0부터 9까지의 손글씨 이미지와 실제 숫자에 해당하는 데이터 세트가 총 7만 개 주어진다. 6만 개는 학습용 데이터, 1만 개는 테스트용 데이터이다. 여기서 학습용 데이터는 학습을 위한 교과서, 테스트용 데이터는 맞는지 확인하기 위한 시험문제라고 생각하면 된다. 각각의 이미지는 0~255 사이의 값을 가진 28x28 흑백 이미지이다. 따라서 28x28 행렬로 나타나며, 행렬의 원소는 밝기를 뜻하는 0~255 사이의 정수이다. cf. 🤔 왜 이미지를 행렬 취급하지? 우리는 사진을 그 자체로 볼 수 있지만, 컴퓨터는 그럴 수 없으므로 이미지를 행렬로 인식한다. .. 이전 1 ··· 16 17 18 19 20 다음