본문 바로가기

혼자서

20220706

-모두의 인공지능 기초수학 : 누구나 쉽게 시작하는 인공 지능 수학

 

인공지능에서 미분은 가중치와 편향의 값을 조절할 때 사용

입력층(input) : 데이터가 입력되는 계층

은닉층(hidden) : 입력층과 출력층 사이 복잡한 분류 문제에서 판별 경계를 찾는데 사용

출력층(output) : 활성화 함수 값을 계산하여 출력 결정

가중치(weight) : 각 신호가 결과에 주는 영향력을 조절하는 요소. 클수록 중요도가 높음

가중합(weighted sum) : 입력값(x)와 가중치(w)의 곱을 모두 더한 후 그 값에 편향(b)을 더한 값

편향(bias) : 가중합에 더하는 상수, 하나의 뉴런에서 활성화 함수를 거쳐 최종으로 출력되는 값을 조절하는 역할

활성화 함수(activation function) : 가중합의 결과를 놓고 1 또는 0을 출력해서 다음 뉴런으로 보내는데, 이때 01을 판단하는 함수. 시그모이드, 렐루 등이 존재

 

임의로 가중치와 편향을 선택하고 진행하였을 때 출력값과 정답의 차이가 0에 가까워지도록 가중치와 편향을 계속해서 조정

 

순전파(Feedforward) : 입력에서 출력으로 나올 때 까지 순서대로 계산하는 과정. 모델 추론

 

역전파(Backpropagation) : 순전파와는 반대로 출력에서 입력으로 계산하면서 결과값과 오차를 구함. 이 오차에서 관여하는 노드 값들의 가중치와 편향을 수정. 모델 학습

오차 역전파 : 오차가 작아지는 방향으로 반복해서 수정. 횟수가 크면 정확성 상승 시간 상승. 횟수의 주기(에포크)를 늘리면서 업데이트하고 오차를 줄여 나간다

역전파는 지도학습 알고리즘.

 

오차역전파 계산방식 :

입력값에 가중치를 곱한 값과 편향을 합하여 그 값이 임계치인 0을 넘으면 1을 출력하고, 그렇지 않으면 0을 출력하는 순전파 과정을 거친다.

출력값과 정답의 오차를 구하고, 역방향으로 오차를 줄이는 가중치값으로 수정한다.

출력층의 가중치 값을 수정한다.

은닉층의 가중치 값을 수정한다.

오차가 줄어들지 않을 때까지 2~4 반복

 

인공지능에서 벡터를 사용하는 이유 :

인공신경망에서 입력 데이터는 숫자 데이터만 가능, 텍스트도 숫자 데이터로 변환해야함

데이터가 나열되어 있을 때 유사한 데이터끼리 벡터로 분류 가능. (클러스터링)

 

선형독립 : 데이터 존재 X

선형종속 : 데이터 존재 O

 

SVM(Support Vector Machine) : 주어진 데이터가 어느 카테고리에 속할지 판단하는 이진 선형 분류 모델

 

인공지능 내에서 내적 사용법 : 데이터 간 유사도를 측정하는 경우 유사도의 기준을 벡터 간 거리를 이용, 이때 내적 사용.


(+ 아 티스토리 함수 섞여잇으면 왜 글 복사 여러번되는거임 진짜 미쳣나)
 
 
 

신경망과 심층 학습

 

모형 일반화(model generalization) : 유한한 수의 입력-출력 쌍들로 훈련한 신경망이 미지의 입력을 정확하게 계산하는 능력

 

신경망의 기본 계산 단위는 대부분 최소제곱 회귀(least-squares regression) 혹은 로지스틱 회귀(logistic regression)에서 영감을 얻음.

 

최소제곱 회귀 : 각 개별 방정식의 결과에서 만들어진 잔차의 제곱합을 최소화하여 많은 방정식세트의 해를 근사화 하는 회귀 분석의 표준 접근법

 

로지스틱 회귀 : 독립 변수의 선형 결합을 이용하여 사건의 발생 가능성을 예측하는데 사용되는 통계 기법. 일반적인 회귀 분석의 목표와 동일하게 종속 변수와 독립 변수 간의 관계를 구체적인 함수로 나타내 향후 예측 모델에 사용한다. 선형 회귀 분석과 유사하지만 종속 변수가 범주형 데이터를 대상으로 하며 입력 데이터가 주어졌을 때 해당 데이터의 결과가 특정 분류로 나뉘기 때문에 일종의 분류 기법이기도 함.

 

단층 신경망 : 입력들이 선형 함수를 일반화한 함수를 통해서 하나의 출력에 직접 연결되어 있음(=퍼셉트론).

입력층 자체는 어떠한 계산도 수행하지 않고 선형 함수는 출력 노드에서 계산된다.

 

선형회귀에서 손실함수에 대한 변화율을 경사(=gradient)라고 하는데, 손실함수에서 최소값을 찾기 위해선 경사 값이 점점 감소해야 하기 때문에 경사 하강법이라고 부른다.

경사 = 손실함수의 변화율

 

확률적 경사 하강법(stochastic gradient-descent) : 기본적인 퍼셉트론 알고리즘. 무작위로 선택된 훈련점들에 경사 하강법을 적용해서 예측 값의 제곱오차를 최소화한다.

배치 경사 하강법에 비해 속도가 빠르나, 기울기가 방향에 따라 달라지는 함수에 대해서는 매우 비효율적이고, 학습률이 낮으면 지역 최소값에 갇혀 빠져나오지 못하는 경우가 있고 학습률이 높으면 최적화 자체를 실패할 수 있다.

퍼셉트론 알고리즘은 선형 모형을 제시하기 때문에 선형 분리가능 자료에 잘 작동하고, 선형 분리불가능 자료에서는 한계가 보인다.

 

손실함수 : 머신러닝 혹은 딥러닝 모델의 출력값과 사용자가 원하는 출력값의 오차. 정답값과 예측값을 입력으로 받아 실숫값 점수를 만드는데, 이 점수가 높을수록 모델이 좋지 않음

 

경첩 손실함수 : 분류가 불가능한 데이터 처리 방법으로 잘못 분류한 데이터에 벌점을 적용하여 가장 잘 맞는 함수만 사용할 수 있도록 하는 함수.

분할 경계에서 멀리 떨어질수록 많은 벌점을 부여함.

 

시그모이드 함수(sigmoid function) : 01 사이의 함수이며 값이 들어왔을 때 0~1 사이의 값을 반환. 연속형 데이터이기 때문에 계단 함수가 끊기지 않는 매끄러운 모양. 01에 가까운 값을 통해 이진 분류 가능. 경사 하강법을 시행할 때 기울기 폭주가 발생하지 않는다.

출력값이 어느 값에 가까운지를 통해 어느 분류에 속하는지 쉽게 알 수 있다.

 

소프트맥스 함수(softmax function) : 입력받은 값을 출력으로 0~1사이의 값으로 모두 정규화하며 출력값들의 총합은 항상 1이 되는 특성을 가진 함수.

분류하고 싶은 클래스의 수만큼 출력으로 구성함.

가장 큰 출력값을 부여받은 클래스가 확률이 가장 높은 것으로 이용됨.

 

지지 벡터 기계(SVM) : 경첨 손실함수를 사용하여 학습을 구현하는 모델

 

다중 예측에서는 소프트맥스 출력이 유용, 확률적 예측에서는 목푯값이 이진이냐 다중이냐에 따라 손실함수가 다르게 쓰인다.

이진 목푯값(로지스틱 회귀) : 예측하고자 하는 값이 두가지 값 중 하나인 경우. 관측값 y가 {-1, 1}중 하나이고 예측값은 임의의 수치.

범주 목푯값 : 여러 가지 범주(category) 또는 부류(class) 중 하나를 예측하는 경우.

 

다층 신경망 : 입력층과 출력층 사이에 하나 이상의 은닉층들이 있고, 이러한 층별 신경망 구조를 순방향 신경망 (=피드포워드 신경망)이라고도 함.

 

퍼셉트론은 구조의 기본단위. 그러나 매개변수 모형으로는 퍼셉트론보다 로지스틱 단위나 성분별/완전 선형 단위가 훨씬 많이 쓰임.

 

 

신경망 훈련의 실질적인 문제점

 

과대 적합(overfitting) 문제점

훈련 자료에 대해 목푯값들이 완벽하게 예측했다고 해도 실제 시험자료에서 성공한다는 보 장이 없음.

해결법 1) 정칙화 : 모델의 복잡도에 패널티를 부여함

조기 종료 : 특정 조건이 만족되면 경사 하강법의 반복을 끝냄.

앙상블 기법

2. 기울기 소실 및 폭발 문제

해결법 1) ReLU 활성화 단위 사용

2) 다양한 경사 하강법 요령들

3. 수렴의 어려움

신경망이 깊을수록 훈련 과정에 대한 신경망의 저항(기울기들이 신경망을 따라 매끄럽게 흐 르게 하지 못하게 만듦)이 커진다.

해결법 : 게이트 제어 신경망(gating network), 잔차 신경망(residual network)

4. 국소 가짜 최적해

5. 계산의 어려움

 

 
 

'혼자서' 카테고리의 다른 글

20220711  (0) 2022.07.19
20220708  (0) 2022.07.19
20220705  (0) 2022.07.19
anaconda 설치 오류 (users 폴더 명 변경) + 그 후 오류  (0) 2022.05.03
220305 정리  (0) 2022.03.05