neural network learning rules perceptron hebbian learning
신경망 학습 규칙에 대한이 심층 자습서에서는 예제를 통해 Hebbian 학습 및 퍼셉트론 학습 알고리즘을 설명합니다.
이전 튜토리얼에서 우리는 인공 신경망 이것은 뉴런이라고 불리는 많은 상호 연결된 요소의 아키텍처입니다.
이 뉴런은 수신 된 입력을 처리하여 원하는 출력을 제공합니다. 노드 또는 뉴런은 입력, 연결 가중치 및 활성화 함수로 연결됩니다.
신경망의 주요 특징은 학습 능력입니다. 신경망은 알려진 예제로 스스로 훈련합니다. 네트워크가 훈련되면 알 수없는 문제 값을 해결하는 데 사용할 수 있습니다.
=> 완전한 기계 학습 교육 시리즈 읽기
신경망은지도 학습 또는 비지도 학습으로 분류되는 다양한 학습 체계를 통해 학습합니다.
지도 학습 알고리즘에서 목표 값은 네트워크에 알려져 있습니다. 최적의 성능을 위해 원하는 출력 (목표)과 실제 출력 사이의 오류를 줄이려고합니다. 비지도 학습 알고리즘에서 목표 값은 알 수 없으며 네트워크는 클러스터를 형성하여 입력에 숨겨진 패턴을 식별하여 스스로 학습합니다.
ANN은 입력, 히든 레이어 및 출력 레이어의 세 부분으로 구성됩니다. 단일 입력 레이어와 출력 레이어가 있지만 숨겨진 레이어가 없거나 네트워크에 존재할 수있는 하나 이상의 숨겨진 레이어가있을 수 있습니다. 이 구조를 기반으로 ANN은 단일 계층, 다중 계층, 피드 포워드 또는 반복 네트워크로 분류됩니다.
학습 내용 :
중요한 ANN 용어
ANN에서 다양한 학습 규칙을 분류하기 전에 ANN과 관련된 몇 가지 중요한 용어를 이해하겠습니다.
# 1) 무게 : ANN에서 각 뉴런은 연결 링크를 통해 다른 뉴런에 연결됩니다. 이 링크에는 무게가 있습니다. 가중치에는 뉴런에 대한 입력 신호에 대한 정보가 있습니다. 가중치와 입력 신호는 출력을 얻는 데 사용됩니다. 가중치는 연결 행렬이라고도하는 행렬 형식으로 표시 할 수 있습니다.
각 뉴런은 연결 가중치를 통해 다음 계층의 다른 모든 뉴런에 연결됩니다. 따라서 'n'개의 노드가 있고 각 노드에 'm'가중치가있는 경우 가중치 행렬은 다음과 같습니다.
W1은 노드 1에서 시작하는 가중치 벡터를 나타냅니다. W11은 1에서 시작하는 가중치 벡터를 나타냅니다.성이전 레이어의 노드를 1로성다음 레이어의 노드. 마찬가지로 wij는 'ith'처리 요소 (뉴런)에서 다음 레이어의 'j'처리 요소까지 가중치 벡터를 나타냅니다.
# 2) 바이어스 : 입력 벡터에 입력 요소 x (b) = 1을 추가하여 편향을 네트워크에 추가합니다. 편향은 또한 w (b)로 표시된 가중치를 전달합니다.
편향은 뉴런의 출력을 계산하는 데 중요한 역할을합니다. 편향은 양수 또는 음수 일 수 있습니다. 양의 편향은 순 입력 가중치를 증가시키는 반면 음의 편향은 순 입력을 감소시킵니다.
# 3) 임계 값 : 활성화 기능에 임계 값이 사용됩니다. 순 입력은 출력을 얻기 위해 임계 값과 비교됩니다. NN에서 활성화 함수는 임계 값을 기반으로 정의되고 출력이 계산됩니다.
임계 값은 다음과 같습니다.
# 4) 학습률 : 알파?로 표시됩니다. 학습률 범위는 0 ~ 1입니다. NN 학습 과정에서 가중치 조정에 사용됩니다.
# 5) 모멘텀 팩터 :보다 빠른 결과 수렴을 위해 추가되었습니다. 운동량 인자는 가중치에 추가되며 일반적으로 역 전파 네트워크에서 사용됩니다.
신경망 학습 규칙 비교
학습 방법-> | 경사 하강 법 | Hebbian | 경쟁 | 확률 적 | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
EPOCH 2 | |||||||||||
아키텍처 유형 || | |||||||||||
단일 레이어 피드 포워드 | ADALINE Hopfield 퍼셉트론 | 연관 기억 Hopfield | 선형 벡터 양자화 | ||||||||
다층 피드 포워드 | 종속 상관 관계 다층 피드 앞으로 방사형 바이어스 함수 | Neocognitron | |||||||||
반복 | 반복 신경 회로망 | 양방향 자동 연관 기억 Brain- State- In-a- Box Hopfield | 적응 공명 이론 | 볼츠만 기계 코시 기계 |
ANN의 다양한 학습 유형의 분류는 다음과 같습니다.
지도 학습 알고리즘의 분류
- 경사 하강 법
- 확률 적
# 1) 경사 하강 법 학습
이러한 유형의 학습에서는 가중치와 네트워크의 활성화 기능을 사용하여 오류 감소가 발생합니다. 활성화 기능은 구별 할 수 있어야합니다.
가중치 조정은이 학습에서 오차 기울기 E에 따라 달라집니다. 역 전파 규칙은 이러한 유형의 학습의 한 예입니다. 따라서 무게 조정은 다음과 같이 정의됩니다.
# 2) 확률 적 학습
이 학습에서 가중치는 확률 적 방식으로 조정됩니다.
비지도 학습 알고리즘의 분류
- Hebbian
- 경쟁
# 1) 헤비 안 학습
이 학습은 1949 년 Hebb에 의해 제안되었습니다. 이것은 가중치의 상관 조정을 기반으로합니다. 입력 및 출력 패턴 쌍은 가중치 행렬 W와 연관됩니다.
출력의 조옮김은 무게 조정을 위해 사용됩니다.
# 2) 경쟁 학습
승자는 모든 전략을 취합니다. 이러한 유형의 학습에서 입력 패턴이 네트워크로 전송되면 계층의 모든 뉴런이 경쟁하고 우승 한 뉴런 만 가중치를 조정합니다.
Mc Culloch-Pitts 뉴런
M-P 뉴런이라고도 알려진 이것은 1943 년에 발견 된 최초의 신경망입니다.이 모델에서 뉴런은 연결 가중치로 연결되고 활성화 함수는 이진법으로 사용됩니다. 임계 값은 뉴런의 발화 여부를 결정하는 데 사용됩니다.
M-P 뉴런의 기능은 다음과 같습니다.
Hebbian 학습 알고리즘
Hebb 네트워크 1949 년 Donald Hebb에 의해 언급되었습니다. Hebb의 규칙에 따르면 가중치는 입력과 출력의 곱에 비례하여 증가하는 것으로 나타났습니다. 이는 Hebb 네트워크에서 두 개의 뉴런이 상호 연결되면 시냅스 갭의 변화에 의해 이러한 뉴런과 관련된 가중치가 증가 할 수 있음을 의미합니다.
이 네트워크는 양극성 데이터에 적합합니다. Hebbian 학습 규칙은 일반적으로 논리 게이트에 적용됩니다.
가중치는 다음과 같이 업데이트됩니다.
W (신규) = w (이전) + x * y
Hebbian 학습 규칙을위한 학습 알고리즘
알고리즘의 훈련 단계는 다음과 같습니다.
- 처음에 가중치는 0으로 설정됩니다. 즉, 모든 입력 i = 1 ~ n에 대해 w = 0이고 n은 입력 뉴런의 총 수입니다.
- 출력을합시다. 입력에 대한 활성화 함수는 일반적으로 식별 함수로 설정됩니다.
- 출력을위한 활성화 함수도 y = t로 설정됩니다.
- 가중치 조정 및 편향은 다음과 같이 조정됩니다.
- 각 입력 벡터 및 출력에 대해 2-4 단계가 반복됩니다.
Hebbian 학습 규칙의 예
Hebbian Learning을 사용하여 양극성 입력으로 논리 AND 함수를 구현해 보겠습니다.
X1 및 X2는 입력, b는 1로 간주되는 바이어스, 목표 값은 입력에 대한 논리 AND 연산의 출력입니다.
입력 | 입력 | 편견 | 표적 |
---|---|---|---|
X1 | X2 | 비 | 와이 |
하나 | 하나 | 하나 | 하나 |
하나 | -1 | 하나 | -1 |
-1 | 하나 | 하나 | -1 |
-1 | -1 | 하나 | -1 |
#1) 처음에는 가중치가 0으로 설정되고 편향도 0으로 설정됩니다.
W1 = w2 = b = 0
#두) 첫 번째 입력 벡터는 [x1 x2 b] = [11 1]이고 목표 값은 1입니다.
새로운 가중치는 다음과 같습니다.
#삼) 위의 가중치는 최종 새 가중치입니다. 두 번째 입력이 전달되면 이것이 초기 가중치가됩니다.
# 4) 두 번째 입력 = [1 -1 1]을 사용합니다. 목표는 -1입니다.
# 5) 마찬가지로 다른 입력 및 가중치가 계산됩니다.
아래 표는 모든 입력을 보여줍니다.
입력 | 편견 | 타겟 출력 | 체중 변화 | 바이어스 변경 | 새로운 가중치 | ||||
---|---|---|---|---|---|---|---|---|---|
X1 | X2 | 비 | 와이 | ? w1 | ? w2 | ? b | W1 | W2 | 비 |
하나 | 하나 | 하나 | 하나 | 하나 | 하나 | 하나 | 하나 | 하나 | 하나 |
하나 | -1 | 하나 | -1 | -1 | 하나 | -1 | 0 | 두 | 0 |
-1 | 하나 | 하나 | -1 | 하나 | -1 | -1 | 하나 | 하나 | -1 |
-1 | -1 | 하나 | -1 | 하나 | 하나 | -1 | 두 | 두 | -2 |
AND 기능을위한 Hebb Net
C ++ 표준 라이브러리 다운로드
퍼셉트론 학습 알고리즘
퍼셉트론 네트워크는 단일 레이어 피드 포워드 네트워크입니다. 이를 단일 퍼셉트론 네트워크라고도합니다. Perceptron은 입력 계층, 은닉 계층 및 출력 계층으로 구성됩니다.
입력 계층은 억제 또는 흥분 또는 0 (-1, +1 또는 0) 일 수있는 가중치를 통해 은닉 계층에 연결됩니다. 사용되는 활성화 함수는 입력 계층과 은닉 계층에 대한 이진 단계 함수입니다.
출력은
Y = f (y)
활성화 기능은 다음과 같습니다.
가중치 업데이트는 대상 출력과 일치시키기 위해 히든 레이어와 출력 레이어 사이에서 발생합니다. 오류는 실제 출력과 원하는 출력을 기반으로 계산됩니다.
출력이 목표와 일치하면 가중치 업데이트가 발생하지 않습니다. 가중치는 처음에 0 또는 1로 설정되고 최적의 솔루션을 찾을 때까지 연속적으로 조정됩니다.
네트워크의 가중치는 초기에 임의의 값으로 설정할 수 있습니다. 퍼셉트론 학습은 모든 입력 훈련 패턴에 대해 올바른 출력을 제공하는 가중치 벡터로 수렴되며이 학습은 유한 한 수의 단계에서 발생합니다.
Perceptron 규칙은 이진 및 양극 입력 모두에 사용할 수 있습니다.
단일 출력 퍼셉트론에 대한 학습 규칙
#1) 'n'개의 훈련 입력 벡터가 있고 x (n) 및 t (n)이 목표 값과 연관되어 있다고 가정합니다.
#두) 가중치와 편향을 초기화합니다. 쉬운 계산을 위해 0으로 설정하십시오.
#삼) 학습률을 1로합니다.
# 4) 입력 계층에는 항등 활성화 함수가 있으므로 x (i) = s (i)입니다.
# 5) 네트워크의 출력을 계산하려면 :
# 6) 활성화 함수는 출력을 얻기 위해 net 입력에 적용됩니다.
# 7) 이제 출력을 기반으로 원하는 목표 값 (t)과 실제 출력을 비교합니다.
# 8) 가중치 변경이 없을 때까지 반복을 계속하십시오. 이 조건이 충족되면 중지하십시오.
다중 출력 퍼셉트론에 대한 학습 규칙
#1) 'n'개의 훈련 입력 벡터가 있고 x (n) 및 t (n)이 목표 값과 연관되어 있다고 가정합니다.
#두) 가중치와 편향을 초기화합니다. 쉬운 계산을 위해 0으로 설정하십시오.
css3 인터뷰 질문 및 답변 pdf
#삼) 학습률을 1로합니다.
# 4) 입력 계층에는 항등 활성화 함수가 있으므로 x (i) = s (i)입니다.
# 5) j = 1에서 m까지 각 출력 벡터의 출력을 계산하기위한 순 입력은 다음과 같습니다.
# 6) 활성화 함수는 출력을 얻기 위해 net 입력에 적용됩니다.
# 7) 이제 출력을 기반으로 원하는 목표 값 (t)과 실제 출력을 비교하고 무게를 조정합니다.
w는 i 번째 입력과 j 번째 출력 뉴런 사이의 연결 링크의 가중치 벡터이고 t는 출력 단위 j에 대한 목표 출력입니다.
# 8) 가중치 변경이 없을 때까지 반복을 계속하십시오. 이 조건이 충족되면 중지하십시오.
퍼셉트론 학습 규칙의 예
바이폴라 입력 및 출력을 위해 Perceptron 네트워크를 사용한 AND 함수 구현.
입력 패턴은 x1, x2 및 바이어스 b입니다. 초기 가중치를 0으로하고 편향을 0으로 설정합니다. 임계 값은 0으로 설정되고 학습률은 1입니다.
AND 게이트
X1 | X2 | 표적 |
---|---|---|
하나 | 하나 | 하나 |
하나 | -1 | -1 |
-1 | 하나 | -1 |
-1 | -1 | -1 |
#1) X1 = 1, X2 = 1 및 목표 출력 = 1
W1 = w2 = wb = 0 및 x1 = x2 = b = 1, t = 1
순 입력 = y = b + x1 * w1 + x2 * w2 = 0 + 1 * 0 + 1 * 0 = 0
따라서 임계 값이 0이므로 :
여기에서 output = 0을 얻습니다. 이제 output (y) = target (t)인지 확인합니다.
y = 0이지만 t = 1은 이것이 동일하지 않음을 의미하므로 가중치 업데이트가 발생합니다.
새 가중치는 첫 번째 입력 벡터가 표시된 후 1, 1 및 1입니다.
#두) X1 = 1 X2 = -1, b = 1 및 목표 = -1, W1 = 1, W2 = 2, Wb = 1
순 입력 = y = b + x1 * w1 + x2 * w2 = 1 + 1 * 1 + (-1) * 1 = 1
input = 1의 순 출력은 다음에서 1이됩니다.
따라서 target = -1은 실제 출력 = 1과 일치하지 않습니다. 체중 업데이트가 발생합니다.
이제 새로운 가중치는 w1 = 0 w2 = 2 및 wb = 0입니다.
마찬가지로 다음 입력 세트를 계속하면 다음 테이블이 표시됩니다.
입력 | 편견 | 표적 | 순 입력 | 계산 된 출력 | 체중 변화 | 새로운 가중치 | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
X1 | X2 | 비 | 티 | 음 | 와이 | ? w1 | ? w2 | ? b | W1 | W2 | wb |
EPOCH 1 | |||||||||||
하나 | 하나 | 하나 | 하나 | 0 | 0 | 하나 | 하나 | 하나 | 하나 | 하나 | 하나 |
하나 | -1 | 하나 | -1 | 하나 | 하나 | -1 | 하나 | -1 | 0 | 두 | 0 |
-1 | 하나 | 하나 | -1 | 두 | 하나 | 하나 | -1 | -1 | 하나 | 하나 | -1 |
-1 | -1 | 하나 | -1 | -삼 | -1 | 0 | 0 | 0 | 하나 | 하나 | -1 |
하나 | 하나 | 하나 | 하나 | 하나 | 하나 | 0 | 0 | 0 | 하나 | 하나 | -1 |
하나 | -1 | 하나 | -1 | -1 | -1 | 0 | 0 | 0 | 하나 | 하나 | -1 |
-1 | 하나 | 하나 | -1 | -1 | -1 | 0 | 0 | 0 | 하나 | 하나 | -1 |
-1 | -1 | 하나 | -1 | -삼 | -1 | 0 | 0 | 0 | 하나 | 하나 | -1 |
EPOCHS는 가중치 변경이 필요하지 않고 반복이 중지 될 때까지 시스템에 공급되는 입력 패턴의주기입니다.
Widrow Hoff 학습 알고리즘
또한 ~으로 알려진 델타 규칙 , 선형 회귀에 대한 경사 하강 법 규칙을 따릅니다.
대상과 출력 값의 차이로 연결 가중치를 업데이트합니다. 지도 학습 알고리즘 범주에 속하는 최소 평균 제곱 학습 알고리즘입니다.
이 규칙은 ADALINE (Adaptive Linear Neural Networks) 및 MADALINE이 따릅니다. Perceptron과 달리 Adaline 네트워크의 반복은 멈추지 않지만 최소 평균 제곱 오차를 줄여 수렴합니다. MADALINE은 둘 이상의 ADALINE 네트워크입니다.
델타 학습 규칙의 동기는 출력과 목표 벡터 사이의 오류를 최소화하는 것입니다.
ADALINE 네트워크의 가중치는 다음에 의해 업데이트됩니다.
최소 평균 제곱 오차 = (t- y에)두, ADALINE은 최소 평균 제곱 오차에 도달하면 수렴합니다.
결론
이 튜토리얼에서 우리는 Hebbian Learning Rule과 Perceptron Learning Rule이라는 두 가지 알고리즘에 대해 논의했습니다. Hebbian 규칙은 가중치 벡터가 입력 및 학습 신호, 즉 출력에 비례하여 증가한다는 규칙을 기반으로합니다. 가중치는 입력 및 출력의 곱을 이전 가중치에 더하여 증가합니다.
W (신규) = w (이전) + x * y
Hebb 규칙의 적용은 패턴 연관, 분류 및 분류 문제에 있습니다.
Perceptron 학습 규칙은 단일 출력 및 여러 출력 클래스의 네트워크 모두에 적용 할 수 있습니다. 퍼셉트론 네트워크의 목표는 입력 패턴을 특정 멤버 클래스로 분류하는 것입니다. 입력 뉴런과 출력 뉴런은 가중치가있는 링크를 통해 연결됩니다.
가중치는 실제 출력을 목표 값과 일치하도록 조정됩니다. 학습률은 0에서 1로 설정되며 가중치의 확장 성을 결정합니다.
가중치는 다음에 따라 업데이트됩니다.
이러한 학습 규칙 외에도 기계 학습 알고리즘은 다른 많은 방법 (예 : 감독, 비지도, 강화)을 통해 학습합니다. 다른 일반적인 ML 알고리즘 중 일부는 Back Propagation, ART, Kohonen Self Organizing Maps 등입니다.
이 머신 러닝 시리즈의 모든 튜토리얼을 즐기 셨기를 바랍니다 !!
=> 독점적 인 기계 학습 시리즈를 보려면 여기를 방문하십시오