머신러닝
인공지능이란?
인위적으로 지능을 부여한 것
인공지능의 두 가지 방법론
규칙기반
- 사람이 만든 규칙/패턴/관계를 사용하는 것.
- 사람의 도메인이 중요
학습기반 (=머신러닝)
- 컴퓨터가 만든 규칙/패턴/관계를 사용하는 것.
- 학습 알고리즘과 데이터가 중요
머신러닝이란?
- 컴퓨터가 '데이터 입출력 관계식'의 파라미터(Weight)를 찾는 것.
- y값의 오차(cost)를 최소화 하는 파라미터를 찾는 것. min cost
머신러닝이 파라미터(Weight)를 찾는 원리
- 파라미터에 대한 오차의 기울기가, 0이 되는 방향으로 파라미터 업데이트
- W(t+1) = W(t) - lr * Gradient (lr: learning rate, 매우 작은 수)
머신러닝의 학습 전략
- 성능 저조: underfit, overfit
- 핸들링: 데이터, 모델 복잡도
- 방법
- underfit: 데이터 복잡도를 낮추고 모델 복잡도를 높인다.
- overfit: 데이터 복잡도를 높이고 모델 복잡도를 낮춘다.
- cost = 오차 + 모델 복잡도
딥러닝
퍼셉트론: 인공신경망
생물학적인 뉴런을 수학적으로 모델링함.
- 입력층
- 입력 노드
- 선형연산기
- WX = w1x1 + w2x2 ... b
- 파라미터(weight) 갯수
- 출력층
- 분류기
- 활성화함수, activation, sigmoid
- S(WX) = 1 / ( 1+e^-wx )
- ( 0, 1/2 )을 지나는 0 < y < 1 을 만족하는 함수
- 출력 노드
다층 퍼셉트론: ML P
- 입력층: 입력노드
- 선형연산기
- WX = w1x1 + w2x2 ... b
- 파라미터(weight) 갯수
- 은닉층: 은닉노드
- 비선형 변환 ( 비선형의 선형화 또는 반대 )
- 활성화함수, activation, sigmoid
- S(WX) = 1 / ( 1+e^-wx )
- ( 0, 1/2 )을 지나는 0 < y < 1 을 만족하는 함수
- 선형연산기
- WA = w1a1 + w2a2 ... b
- 파라미터(weight) 갯수
- 출력층: 출력노드
- 분류기
- 활성화함수, activation, sigmoid
- S(WA) = 1 / ( 1+e^-wa )
- ( 0, 1/2 )을 지나는 0 < y < 1 을 만족하는 함수
다층 퍼셉트론의 3가지 관점
- 은닉층의 활성화 함수가 비선형 경계선을 그린다.
- 활성화 함수가 비선형 데이터를 선형패턴화하는 역할을 한다.
- 데이터 변형기 역할을 한다.
(비선형적인 입력 값이 계속해서 선형패턴화(변형)되어 출력 값으로 계산된다.)
역전파 알고리즘
다층 퍼셉트론의 학습 알고리즘
- Chain-rule:
- 합성함수의 도함수 구하는 법
- 오차함수 전체의 기울기 = 각 부분함수의 기울기들의 곱
기울기 소실 문제
- cost가 큼에도 불구하고, 파라미터에 대한 오차의 기울기가 0이 되어 학습이 중단됨.
- sigmoid함수의 기울기 0~1/4 로 매우 작기 때문에, 입력층 쪽 기울기가 cost의 크기와 무관하게 0으로 소실
기울기 소실 문제 극복 방법
- 초기값 설정 (RBM, Xavier, he)
- cost가 낮은 쪽에 가깝게 초기값을 설정
- 활성화함수 변경(ReLU, Leaky ReLU, mish)
- 활성화 함수로 sigmoid를 사용할 때 기울기가 작아지므로, 다른 함수로 변경
Tags:
AI개발_교육