ML (24) 썸네일형 리스트형 [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. 🤔 왜 이미지를 행렬 취급하지? 우리는 사진을 그 자체로 볼 수 있지만, 컴퓨터는 그럴 수 없으므로 이미지를 행렬로 인식한다. .. [ML] 딥러닝 1 - 3강 인공신경망 ※ 본 글은 한경훈 교수님의 머신러닝 강의를 정리, 보충한 글입니다. ※ [딥러닝 I] 3강. 인공신경망 - YouTube 다층 신경망의 구조 Input Layer (입력층) : 데이터가 입력되는 계층 Hidden Layer (은닉층) : 데이터가 전달되는 계층 Output Layer (출력층) : 데이터가 출력되는 계층 Weights : 전/후 Units를 잇는 화살표, 각 Units의 연결 강도를 결정하는 가중치 계산층(은닉층, 출력층)이 둘 이상인 신경망을 다층 신경망 DNN이라고 부른다. 단층신경망은 입력층과 출력층이 각각 하나로, 계산층인 출력층 하나뿐이다. 모든 계산층이 자신의 계산 결과를 입력에서 출력으로의 순방향으로만 전달하는 구조를 순방향 신경망(feed-forward network)이라.. [ML] 딥러닝 1 - 2강 활성화 함수 ※ 본 글은 한경훈 교수님의 머신러닝 강의를 정리, 보충한 글입니다. ※ [딥러닝 I] 2강. 활성화 함수 - YouTube 활성화 함수란? 입력 신호를 종합하여 출력 신호로 변환하는 함수를 활성화 함수(activation function)이라고 한다. 활성화 함수의 종류에는 heaviside, sigmoid, relu 등이 있다 지난 강의에서 배운 것처럼 실제 뉴런을 본뜬 활성화함수는 아래와 같다. heaviside(=step_funciton) 함수의 한계 heaviside 함수는 x축의 0을 기준으로 y 축 값이 0과 1로 나뉘어 있으므로 그 모양때문에 step_function 이라고도 불린다. 이런 heaviside 함수를 머신러닝에 적용하기에는 치명적인 단점이 있다. 바로 머신러닝은 미분을 통해 .. [ML] 딥러닝 1 - 1강 퍼셉트론 ※ 본 글은 한경훈 교수님의 머신러닝 강의를 정리, 보충한 글입니다. ※ [딥러닝 I] 1강. 퍼셉트론 - YouTube 퍼셉트론이란? 퍼셉트론은 신경 세포 뉴런을 수학적으로 모델링한 초기 인공신경망(Artificial Neural Network)이다. 퍼셉트론은 다수의 입력으로부터 하나의 결과를 도출한다. 퍼셉트론은 뉴런을 모델링한 것이므로, 뉴런의 작동법과 비슷한 방식이 적용된다. 뉴런의 작동법 가지 돌기(Dendrite) : 주변 뉴런으로부터 전기신호를 받아들인다. 시냅스(Synapse) : 뉴런의 축삭 말단과 가지 돌기 사이의 공간으로, 전기신호의 세기를 재조정한다. 세포체(Soma, cell body): 가지돌기에서 받은 전기신호들이 합쳐진다. 축삭돌기(Axon) : 세포체의 전위가 일정 이상이.. 이전 1 2 3 다음