티스토리 뷰

의  노드( Node )


1. 개념

  • 생물학의 신경세포(=neuron)과 같은 개념이다.
  • 신경망을 구성하는 하나의 단위이다.

[그림 1] 노드 구조


    • 원 : 노드

    • 화살표 : 신호의 흐름

    • : 외부에서 들어오는 신호( Input )

    • : 신호를 연결하는 가중치( Weight )

    • : 신경망의 정보저장을 관여하는데 사용(= Bias )

    • : 외부로 나가는 신호( Output )

  • 외부에서 들어오는 각각의 신호들은 해당 가중치가 곱해져 노드로 전달된다.

    • : 가중합은 가중치의 합( Weighted Sum )으로 입력(Input)과 가중치(Weight)의 곱한 결과 값
  • 노드는 가중합을 활성함수에 입력해 얻은 값을 외부로 출력한다.

    • : 활성함수( Activation Function )으로 가중합의 값을 특정 조건 결과를 반환시켜준 함수( Step , Sigmoid , ReLU 등 사용자가 정의해 만들 수 있다. )

[그림 2] 활성화 함수 종류



[그림 3] 수식으로 표현된 노드 구조


  • 즉, 노드는 입력신호에 따른 가중합을 구해 활성함수에 가중합을 대입하여 얻은 결과값을 출력한다.


신경망( Neural Network )


1. 개념

  • 생물학의 신경망과 같은 개념이다.
  • 생물학적인 개념을 인공지능의 모델에 도입하였다.
  • 신경세포( = 노드)의 집합으로 신경망을 구성한다.

[그림 4] 신경망 구조


  • 신경망은 입력층 - 은닉층 - 출력층의 구조를 가진다.

  • 은닉층은 없어도 없는경우는 단층신경망이라 한다. 

  • 은닉층이 하나일 경우 얕은 신경망이라하고 하나 이상일 경우 심층 신경망이라 한다. 

2. 학습
  • 신경망의 학습방법은 여러가지가 존재한다.( http://mizzlena.tistory.com/entry/인공지능-머신러닝Machine-Learning )
  • 지도학습을 예로 들어 학습과정을 설명한다.
    1. 신경망의 가중치를 임의의 렌덤값으로 초기화한다.
    2. 지도학습의 학습 데이터 형태인 학습에 따른 결과값이 있는 데이터를 통해 값을 출력하여 결과값과 출력값의 오차를 비교한다.
    3. 오차가 줄어들 때 까지 가중치를 조정한다.
    4. B~C를 반복한다.
  • 델타 규칙( Delta Rule ) : 단층 신경망의 대표적인 학습규칙

[그림 5] 단층 신경망


- 델타 규칙은 입력노드와 가중치에 따른 출력노드의 오차를 가지고 입력노드의 출력과 출력노드의 오차에 따라 비례 조절한다.



: 입력 노드 의 출력( )

: 출력 노드 의 오차

: 출력 노드 와 입력노드 의 연결 가중치

: 학습률( )

: 정답 값

: 출력 노드

: 출력 노드 의 가중합

: 출력 노드 의 활성화 함수인의 도함수

: 다음 세대로 값을 변환

* 1, : 델타 규칙의 표준형 / 2, : 델타 규칙의 일반형 


- 델타 규칙의 학습 과정

    1. 신경망의 가중치를 임의의 렌덤값으로 초기화한다.
    2. 학습 데이터에 입력을 신경망에 입력해 출력값()을 얻는다.
    3. 출력값()과 정답값()을 비교해 오차()를 계산한다.
    4. 델타 규칙에 따라 가중치의 갱신값을 계산()한다.
    5. 신경망의 가중치를 조절()한다.
    6. 전체 학습  데이터에 관해 B~E를 반복한다.
    7. 지정된 오차의 범위안에 들어올 때 까지 B~F를 반복한다.

3. 갱신
  • 출력 오차를 통해 가중치의 값을 갱신해야 학습의 목표값에 도달한다.
  • SGD(Stochastic Gradient Descent)와 배치 방법이 있다.
- Stochastic 경사 하강법 : 하나의 학습 데이터마다 오차를 계산해 신경망의  가중치를 바로 조절하는 방법( *)
- 배치 : 모든 학습 데이터의 오차에 관해 가중치 갱신값을 계산한 후 이의 평균값으로 가중치를 한번 더 갱신하는 방법( * )








반응형

'Record > AI' 카테고리의 다른 글

[인공지능] Pytorch Tensorboard  (0) 2022.05.09
[인공지능] Pytorch Tensor 공부  (0) 2022.05.09
[인공지능] Pytorch 예제  (0) 2022.05.09
[인공지능] Pytorch Install  (0) 2022.05.09
[인공지능] 머신러닝(Machine Learning)  (0) 2018.08.15
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함