1. 신경회로망
1) 신경회로망의 기본구조
① 신경회로망 : 두뇌속의 신경구조
- 10억 ~ 100억개의 신경세포 (뉴런, neuron)으로 구성
- 신경세포는 매우 간단한 처리만 담당, 신경조직 구조를 변화시키면서 학습
- 단순한 연산기능을 가진 수많은 뉴런이 연결되어 정보를 저장하고 처리 (병렬처리)
- 각 신경세포는 1천 ~10만개의 다른 신경세포와 신경연접(synapse)을 통해 연결
- 신경연접을 지나는 신호를 신경연접의 특정에 따라 증폭 혹은 감쇄되어 전달됨
② 컴퓨터와 신경계통의 처리방법 특성비교
③ 인공신경회로망
간단한 연산기능을 가진 처리기를 가중치를 갖는 채널로 연결한 망형태의 모델
(신경구조를 모델링, 지능적 처리에 응용)
- 입력된 내용을 합하고 변환하는 간단한 연산기능을 가지고 있는 수많은 뉴런으로 구성
- 각각의 뉴런은 다른 뉴런과 방대한 연결유지, 수많은 뉴런이 동시에 동작하는 대단위 병렬처리
- 입력된 신호(x0, x1, .., xd)와 입력가중치 w(w0, w1, .. , wd)곱을 더하여 비선형함수 f적용
- 정보저장 : 신경연접의 연결가중치 벡터(w)에 저장, 수많은 뉴런의 신경연접에 분산저장
- 학습능력 : 학습 데이터에 따라 적응적으로 연결가중치 조정
- 결함내성 : 일부 뉴런에 고장이 발생해도 근사한 출력 (전체 시스템의 성능이 급격한 저하없음)
2) 기본구조 : 퍼셉트론, 오차역전파 모델, 자기조직화지도, LVQ
입력된 신호를 연결가중치와 곱하여 모두 더한 다음 그 결과에 비선형 함수를 취함
① 활성함수
Hard Limit : 함수의 입력이 0보다 크면 1, 그렇지 않으면 0을 출력함 (미분이 되지 않는 단점)
Sigmoid : 작은 입력에 대해 이득 크고, 큰 입력에 대해 이득 작음(자동이득조절 특성), 미분가능
TanH(Hyperbolic Tangent) : 시그모이드와 유사한 형태
ReLU(Rectified Linear Unit) : 입력이 0보다 작으면 0, 그렇지 않으면 입력된 값 출력
* 바이어스 : 임계치보다 낮은 경우 뉴런이 활성화되지 않도록 함 (일반적으로 1, 미사용인 경우 있음)
② 연결형태
▣ 연결가중치
흥분성 연결 : 연결된 뉴런의 활성을 높임
금지 연결 : 연결된 뉴런의 활성을 낮춤
▣ 각 층의 연결형태
층내 연결 : 층 안의 뉴런간의 연결
층간 연결 : 층과 층사이의 연결
▣ 입출력 방향
피드포워드 연결 : 입력층에서 출력층으로 연결이 이루어짐 (일방향으로 연결)
순환연결 : 출력이 다시 입력으로 delay되어 연결됨
3) 신경회로망의 학습
뉴런들을 서로 연결하는 연결가중치 w조정, 연결가중치의 비용함수 최소화를 위해 경사하강법 적용
학습 방법
지도학습 : 입력벡터와 기대되는 출력(레이블)의 쌍을 학습데이터로 제공하고, 실제 출력과 기대출력의 차이를 줄일수 있도록 연결가중치 조정
자율학습 : 학습데이터는 입력벡터만 제공(기대출력 없음), 입력 군집화하여 유사벡터가 동일 출력값을 낼수 있도록 연결가중치 조정
준지도학습 : 라벨이 지정되지 않은 큰 규모의 학습표본 집합 + 비교적 작은 규모의 라벨이 지정된 학습표본 집합 사용
학습 표본 정해진 경우 반영방식
① 배치학습 (batch learning)
학습 표본집합내의 각각의 표본에 의한 연결가중치의 변화분을 누적
전체 학습 표본에 대한 누적 변화량을 반영하여 연결가중치를 업데이트
- 학습 표본집합이 정해진 상태에서 학습진행 (일괄처리)
② 온라인학습 (on-line learning)
개별학습 표본에 대하여 연결가중치의 변화량을 계산하여 연결가중치를 업데이트
확률적 경사하강법 (stochastic gradient descent, SGD) : 매 학습단계에서 학습 표본을 무작위로 섞어 학습진행
- 순차적으로 제공되는 데이터를 바탕으로 시스템을 갱신
③ 미니배치(mini-batch)SGD
전체 학습 표본집합을 작은 부분집합(미니배치)으로 분할
미니배치 단위로 Δw를 구하여 연결가중치 업데이트
- 전체 표본집합을 미니배치단위로 파티션 분할하여 확률적경사하강법 적용/학습
2. 퍼셉트론 모델
1) 퍼셉트론 모델
Frank Rosenblatt (Cornell대학)
- 1957년 퍼셉트론 학습이론 제시, 최초의 신경망 모델
- 선형분리가 가능한 입력벡터의 집합에 대한 선형분리 경계면을 학습 입증
뉴런의 기능
- 입력벡터의 각각의 요소는 연결가중치를 거쳐합산, 결과에 활성함수를 가하여 출력
- 활성함수 : 하드 리미트 (hard limit)
- 지도학습 방식 적용
- 입력과 기대되는 출력의 오차를 줄이기 위해 연결가중치 조정(델타규칙)
2)퍼셉트론의 학습
delta rule (𝜹 ) : 기대출력과 실제 출력의 오차
n+1 학습 단계에서 연결가중치의 학습
w ᵢ ( n + 1 ) = w ᵢ ( n ) - 𝜂𝜹𝑥ᵢ , i = 0,1,2,..., d
** 𝜹가 0인 경우는 올바른 출력이므로 w의 값이 변화하지 않음
ex) 2개의 독립변수에 대한 학습의 예
⇨ n = 6 일때 경계를 기준으로 모든 0,1의 값이 정확하게 분류
학습 데이터의 𝜹 = 0 이면 학습이 종료되므로 치우지지 않은 바람직한 결정경계를 형성할 수는 없음
3) 퍼셉트론의 학습의 특성
성과 : 학습 데이터를 이용하여 반복학습하면 이를 분리할수 있는 선형 결정경계를 형성
d개의 입력을 받는 퍼셉트론은 d차원 공간을 양분하는 초평면을 형성
한계 : 선형 분리가 되지 않는 문제는 해결 불가, XOR문제 해결불가
3. 오차 역전파 모델
1) 비선형 결정경계와 다층 퍼셉트론
XOR문제와 같이 선형함수로 분리할수 없는 문제의 경우 다단계 접근방법 사용
직접적인 출력을 제공할수 없는 중간층의 학습방법이 필요
➡ 다층 퍼셉트론 구조 ( 피드포워드 신경망 구조, 완전연결층 )
① 다층 피드포워드 신경망 구조의 활용
여러 단계의 층으로 선형분리가 불가능한 문제에 대한 해결책 모색
입력층과 출력증 사이에 은닉층, 은닉층 출력값을 직접제공불가(퍼셉트론 적용불가)
⇨ 1974년 Paul Werbos, 1986년 Rumelhart등에 의해 다층 퍼셉트론 구조의 학습방법 개발
BP모델 (은닉층, 지도학습을 통해 결과값에서 역전파)
2) 오차역전파 모델 (Backpropagation : BP) 모델
은닉층을 포함하는 다층 퍼셉트론을 학습시킬수 있는 모델
지도학습 : 학습데이터 (x,y), x는 입력벡터, y는 출력벡터
활성함수 : 시그모이드와 같이 미분가능한 함수 이용
① 출력층 뉴런과 은닉층 뉴런의 연결가중치 학습 ( 손실함수는 MSE )
은닉층의 j의 q번째 뉴런과 출력층 p의 연결 가중치 조정은 손실함수를 MSE로 하여 경사하강법을 적용하여 최적의 연결가중치 w를 찾아서 수행
② 은닉층 뉴런과 은닉층 뉴런의 연결가중치 학습
은닉층의 j의 q번째 뉴런과 은닉층 j-1뉴런 간 연결가중치 조정
(출력값 없어 𝜹가 없음 : 상위층의 𝜹에 가중치를 곱한값의 합 사용)
③ 관성(inertia)항 (또는 모멘텀, momentum)
경사하강법 적용과정에서 최적해에 더 잘 접근하게 하기 위해 사용하는 항
- 지역최소치나 고원문제, Δw의 진동등의 문제로 수렴이 느려지거나 최적해로 수렴하지 못하는 문제해결
- 이전 단계의 Δw를 적절한 비율로 반영함(𝛂)
** Keras의 SGD(확률적 경사하강)최적화 : 𝛂는 0.5~ 1사이의 값을 적용, 경향성을 가지고 안정되게 해에 접근
3) 다층 퍼셉트론과 결정경계
층수에 따라 학습할수 있는 결정경계의 형태에 차이
- 단층구조 (은닉층 없음) - 단층구조
- 2층구조 (은닉층 1개) - 볼록한 경계
- 3층구조 혹은 그 이상 (은닉층 2개이상 ) - 임의 형태의 경계
4. 자기 조직화 지도
대뇌의 피질의 운동영역 및 감각영역은 대뇌피질의 해당 영역에 정돈된 형식으로 매핑
- 밀접한 관계가 있는 정보를 다루는 뉴런은 가깝게 위치하여 짧은 연접연결을 통해 상호작용
1) 자기조직화지도(self-organizing map : SOM) 모델
Kohonen이 제안한 신경회로망 모델
- 자율학습 : 입력만 제공되고, 기대되는 출력은 제시하지 않음 (비지도 학습)
- 경쟁학습(competition learning) : 입력 데이터에 반응하는 권한을 다른 노드와 경쟁하여 얻음
- 승자뉴런(입력에 강한 반응을 하는 뉴런)과 그 이웃의 뉴런이 학습에 참여하여 개념형성
2) 목표
- 임의 차수의 입력패턴을 1차원, 2차원 지도(map)으로 변환
- 위상적으로 순서화된 형태로 적응적 변환이 일어나도록 함
3) 자기조직화 지도학습
경쟁 : 입력 패턴에 대해 각각의 노드는 판별식을 계산하여 가장 큰 값을 가지는 노드가 승자
협력 : 승자 노드를 중심으로 토폴로지상의 이웃노드들이 공간적 위치를 결정하여 활성화
적응 : 활성화된 노드들의 판별식이 주어진 입력에 대해 강화되도록 연접의 가중치를 조정
① 노드의 학습
학습벡터 xᵢ 에 의한 학습 : 승자노드 cᵢ를 중심으로 정의된 이웃집합 Ncᵢ의 조정
② 반복 학습을 통해 주어진 표본집합을 k개의 군집으로 군집화
- wᵢ ( i = 1,2,... k) 는 군집을 대표하는 대표벡터
- 학습표본을 표현하기 위한 대표벡터(특징벡터)의 지도를 형성
3) 학습
① wᵢ , i = 1,2,... k를 무작위 값으로 초기화
② 각각의 입력벡터 xᵢ 에 대해
xᵢ와 각 노드의 가중치 벡터 wᵢ 사이의 유클리드 거리 계산, 가장 가까운 승자노드 선택
승자노드와 이웃노드의 가중치 벡터 조정 (승자노드의 방향으로 조정됨, 가중치가 높아짐)
③ ②과정 반복
5. LVQ (Learning Vector Quantization)
1) LVQ
자기조직화 지도를 패턴 분류에 활용하기 위한 모델 , 지도학습 (클래스 정보가 레이블)
① 벡터 양자화
- 입력신호를 근사화하여 표현함
- 양자화 오차를 최소화되도록 대표벡터의 위치를 구하기 위함
② 패턴분류
- 입력신호를 유한한 개수의 유형 중 하나로 분류함
- 최적이 결정경계를 형성할수 있도록 대표벡터의 위치를 결정하기 위함
2) LVQ의 학습
지도학습 방식에 따라 대표벡터를 학습 , 선형결정경계 학습 (사전학습)
각 출력노드는 그 노드가 나타내는 클래스 정보(label) 보유
학습표본 xⱼ입력시 가장 유사한 가중연결치 wⱼ를 갖는 출력노드 c𝑖가 승자노드로서 w𝑖 갱신
승자노드가 학습표본과 같은 클래스라면 연결 가중치를 학습표본에 근접하도록 이동
학습표본과 다른 클래스라면 연결 가중치를 학습표번에서 멀어지도록 조정
** LVQ는 초기값을 결정하여 라벨을 부여한 후 추가학습으로 결정경계 생성
1단계 : 연결가중치 벡터의 초깃값 설정 (자기조직화지도 등의 알고리즘 활용)
2단계 : 연결가중치 벡터를 수정하여 분류정확도 향상 (LVQ학습)
경쟁을 통해 얻은 승자노드의 클래스에 따라 학습표본에서 거리 갱신
'스터디 > Artificial Intelligence' 카테고리의 다른 글
실습 - CNN ( MNIST 학습) (0) | 2024.05.27 |
---|---|
Deep Learning (0) | 2024.04.11 |
기계학습 (0) | 2024.04.04 |
컴퓨터 시각과 패턴인식 (0) | 2024.04.03 |
퍼지이론 (0) | 2024.04.02 |