본문 바로가기

학교/인공지능개론

기계학습 : 추가 신경망

목차

기계학습 : 인공신경망

    홉필드 신경망

    양방향 연상 메모리

    자기조직 신경망

 

기계학습 : 인공신경망

 

 

홉필드 신경망

존 홉필드가 제안한 순환 신경망 : RNN:recurrent nueral network

순환 신경망은 출력~입력까지의 feedback loop가 있고, 이러한 피드백 루프는 신경망 학습 능력에 많은 영향을 끼친다

=> 기억의 자기 연상 유형을 표현한다

 

 

 

- 각 뉴런의 출력을 다시 모든 뉴런의 입력으로 보냄 (단, 자기 자신 제외)

- 부호 활성화함수를 따른 맥클록-피츠 뉴런을 사용함

 

가정 1) 뉴런 사이 연결강도 즉, 가중치는 대칭

가정 2) 뉴런들은 완전히 비동기적으로 동작 시에만 안정된 상태에 도달할 수 있음 = 즉, 동시에 가중치  update돼서는 안됨. 순서대로!

 

 

 

부호 활성화 함수

 

뉴런의 가중입력이 0보다 크면 출력 +1

뉴런의 가중 입력이 0보다 작으면 출력 = -1

뉴런의 가중입력이 0이면 이전상태 그대로 유지

 

=> 위와 같은 부호 활성화 함수를 포화 선형 함수로 바꿀 수 있다

 

 

=> -1과 1 사이에서는 순수 선형 함수:pure linear function로 동작을 하며 

범위를 벗어나게 되면 부호 함수:sign function처럼 동작을 한다

 

 

 

 

 

 

홉필드 신경망의 연상 기억 장치

인간은 과거 시간과 새로운 사건을 서로 연관시키며 기억된 사건들을 통합하여 새로운 개념을 창조해내는 능력을 가진다

심한 노이즈를 가진 불완전한 패턴 혹은 왜곡된 패턴이 제시되었을 때, 주어진 패턴이 무엇인지 판단해 본래 완전한 형태를 유추하고 이러한 연상 기억 능력은 경험과 학습을 통해 점차 개선된다. 

 

=> 홉필드 신경망의 동작

뉴런이 n개인 신경망 => 가능한 상태 2^n개이며 이는 n차원 하이퍼큐브와 관련이 있다

 

 

=> 각 상태를 하나의 정점으로 표현함

    새로운 입력 벡터 적용 시 신경망이 안정될 때까지 각 정점들 방향으로 이동함

 

안정적 상태 정점 결정

=> 가중치 행렬 w, 현재 입력 벡터 X, 임계값 행렬 세타로 결정함

 

 

 

 

 

신경망에 뉴런이 3개 있다면 가능한 상태는 8개

그 중 안정상태가 위 두가지 예라면? 6개 상태가 모두 불안정하다는 것이다

하지만 안정 상태는 자신과 가까운 상태를 끌어들일 수 있다

 

홉필드 신경망 훈련 알고리즘

3단계로 구성 : 저장, 검사, 복구

 

step1) 저장

 

 

step2) 검사

신경망에 입력했던 기본 기억을 다시 불러낼 수 있어야함

 

 

step3) 복구

 

 

=> 이렇게 복구 작업을 비동시적으로 수행하지만 잘못 연상한 것일 수 있다

 

 

experience

 

 

홉필드 신경망 특징

홉필드 신경망 vs 인간의 기억

[홉필드 신경망]

기억의 자기 연상 유현을 표현한다 => 불완전한 기억이나 잘못된 기억을 복구할 수는 있으나 이로부터 다른 기억을 연상하지는 못한다

즉, 학습한 기억과 아예 다른 타입의 데이터에 대해서는 대처가 안됨

 

[인간의 기억]

인간의 기억은 연상이 가능하며 연상 사슬을 구축하여 잃어버린 기억을 복구할 수 있다

 

홉필드 신경망의 한계

한 가지 기억에서 다른 기억을 연상하지 못함

=> 홉필드 신경망의 결과로 나온 안정 상태는 기본 기억 또는 올바른 안정상태가 아닐 수 있음, 입력 패턴을 적용한 뉴런 집단에서 바로 출력 패턴이 나오는 단층신경망이기 때문

 

극복방법

한가지 기억에서 다른 기억을 연상하기 위해 같지 않은 출력 패턴을 만들 수 있는 순환 신경망 lstm이나 gru 를 사용하거나 양방향 연상 메모리를 사용한다

 

양방향 연상 메모리 : bidirectional associative memory

바트 코스코가 제안한 이형 연산

한 집합 A의 패턴에서 다른 집합 B의 패턴을 연상할 수 있으며 그 반대도 가능함

 

홉필드 신경망처럼 일반화도 가능하며 입력이 잘못되거나 불완전하더라도 올바른 출력을 내기도 함

 

 

 

완전하게 연결된 2개 층으로 구성 : 입력층, 출력층

 

입력 벡터 x(p)를 가중치 행렬의 전치 행렬에 적용해 출력 벡터 y(p) 도출

=> 출력 벡터도 동일하게 가중치 행렬에 적용해 새로운 입력벡터 x(p+1) 도출

 

이 과정을 입력 벡터와 출력 벡터가 변하지 않을 때까지 반복한다.

 

 

BAM의 기본 아이디어 : 집합 A의 n차원 벡터 x가 입력으로 들어왔을 때, 집합 B의 m차원 벡터 y를 불러내고, y가 입력으로 들어왔을 경우 BAM이 X를 불러내도록 패턴 쌍을 저장한다 => 이를 위해서는 각 패턴 쌍에 대한 상관관계 행렬을 만들어야한다.

양방향 연상 메모리 구조에서 가중치 행렬은 모든 상관관계의 행렬 합이다

 

 

양방향 연상 메모리의 훈련 알고리즘

홉필드 신경망처럼 보통은 부호 활성화 함수를 따르는 맥클록 피츠 뉴런을 사용한다

이 또한 3단계 : 저장, 검사, 복구로 나뉜다

=> 맥클록-피츠 뉴런 : x>0 +1, x<0 -1, x=0 y

 

step 1) 저장

 

 

 

 

step2) 검사

서로의 벡터를 불러올 수 있어야함

 

 

 

step3) 복구

양방향 연상 메모리에 알려지지 않은 벡터 주고 저장된 연상을 구함

 

 

BAM은 무조건 안정적이다. 불안정성에 대한 위험 없이 모든 연상 집합을 학습할 수 있는데

이 이유는 역방향, 순방향 가중치 행렬 사이의 전치 관계를 이용하여 가능하다

 

 

 

 


이제까지는 관리되며 적극적인 학습인 감독 학습  :supervised learning 신경망만을 다루었다

supervised learning : 관리되며 적극적인 학습, 교사 또는 훈련 집합을 신경망에 전달해주는 학습

unsupervised learning : 무감독 또는 자기조직 학습

                                         외부 교사가 필요 없음

                                         => 훈련 기간 동안 각기 다른 여러 입력 패턴을 받으며 이 패턴에서 특징을 발견해 입력 데이터를 적절한 범주로 분류하는 방법을 학습함

                                         => 뇌의 신경생물학적 조직화를 따르며 빠르게 학습하는 것을 목표로 한다.

자기조직 신경망

 

무감독 학습 신경망으로 예상하지 못했거나 수시로 바뀌는 기억 조건을 다룰 때 효과적인 신경망이다

자기 조직 신경망에 근거한 헤브학습 경쟁학습을 알아보자

 

헤브 법칙 : 생물학적 학습의 주요 아이디어

뉴런 i가 뉴런 j를 흥분시킬 수 있으며 이 과정을 반복적으로 수행하여 두 뉴런 간 시냅스 연결이 강화되며 뉴런 j는 뉴런 i에서 오는 자극에 더 민감해진다

1. 양쪽에 연결된 두 뉴런이 동시 활성화되면 연결 가중치는 증가 => 같이 활성화 많이 되는 뉴런들의 가중치를 더 크게 적용

2. 양쪽에 연결된 두 뉴런이 각자 활성화되면 연결 가중치는 감소

 

 

알파는 활동 생성 규칙으로 뉴런 쌍 사이 시냅스 가중치 변화 신호곱과의 연관을 보여준다

 

완전히 연결된 피드포워드 신경망


 

경쟁학습 : 코호넨망의 경쟁학습 

뉴런을 활성화하기 위해 뉴런들끼리 경쟁함

헤브학습에서는 출력 뉴런 몇 개를 동시에 활성화할 수 있으나 경쟁학습에서는 항상 출력 뉴런 1개만 활성화할 수 있음 

=> 승자 독식:winner-takes-all 뉴런

 

자기조직 특성 맵

인간의 뇌를 모델링함, 뇌의 각 영역은 다른 인간의 활동들을 관장하며 이는 다른 감각 입력과 연결되어있음

따라서 각 입력이 대뇌피질의 해당 영역에 매핑되어있다고 할 수 있다. 

 

이처럼 코호낸 지형도 형성원칙과 특성 매핑 모델을 이용해 모델링 한다. 이 모델은 뇌에 있는 자기 조직 맵의 주요 성질에 착안하여 만들어짐

 

자기조직 맵 모델링

입력층에서 일정 개수의 입력 패턴을 받아 보다 더 고차원의 출력층인 코호넨 층에 놓아 위상적 매핑을 제공한다

 

헤브학습은 여러 층을 모두 활성화시키지만 코호넨 층은 단 하나가 활성화된다.

물론 이떄 가중치 update는 이웃들도 소량 된다.

 

 

경쟁학습 알고리즘

총 4단계

step 1) 초기화

초기 시냅스 : 입력-출력층 사이와 출력층 간의 가중치를 임의의 구간 내 값으로 설정하며 학습률 매개변수 알파에 아주 작은 값을 할당한다

 

step 2) 활성화와 유사도 매핑

입력 벡터 x를 적용해 코호넨 신경망 활성화하며 최소거리 유클리드 기준을 사용해 p번째 반복에서 승자 독식 뉴런 jx를 찾는다.

 

step 3) 학습

 

 

step 4) 반복

 

 

'학교 > 인공지능개론' 카테고리의 다른 글

강화학습 : reinforcement learning  (0) 2024.06.07
SVM  (0) 2024.06.07
기계학습 2.Decision Tree  (0) 2024.06.02
기계학습 1  (0) 2024.05.10
Fuzzy Theory  (0) 2024.04.18