Keywords
- 퍼셉트론
- 신경망
- 학습
- 활성 함수
신경망
- 1950년대 고양이 신경세포의 실험을 통해 얻어진 신경망 아이디어는 오늘날 다층신경망(MLP, multilayer perceptron)의 발전으로 매우 강력한 머신러닝 기술 중 한 가지
- 이제는 머신러닝에서 독립하여 딥러닝이라는 학문으로 발전하여 단순 계산만 잘 하던 컴퓨터를 사물인식, 분할기술, 자연어 처리 등은 컴퓨터가 잘 못하는 영역까지 사람보다 뛰어난 성과를 보이며 발전
신경망은
- 딥러닝의 발전은 핵심 알고리즘의 발전
- Framework의 발전(Tensorflow, PyTorch 등)
- CUDA (Gpu library, 속도증가)
- ImageNet과 같은 벤치마크 Dataset 등의 발전
퍼셉트론
- 사람의 노가 100억개의 뉴런으로 구성된 것을 활용하여 퍼셉트론의 개념을 따라하면 인공적으로 '생각' 하는것을 구현 가능
- 신경망을 이루는 가장 기본 단위
- 신경망의 기원이 되는 알고리즘
- 다수의 신호를 입력으로 받아드려 하나의 신호로 출력
- 0 또는 1의 값을 갖고
- 가중치는 저항에 해당된다. 저항이 낮은 곳은 신호가 많이 흐르고, 높은 곳은 신호가 흐르지 못한다, 하지만 여기서 가중치는 저항과 반대로 클수록 높은 신호(1)를 출력하고, 작을수록 작은 신호(0)를 출력한다
- 퍼셉트론의 한계는 XOR 문제를 풀지 못했다는 것이다.
신경망 기본구조
- 퍼셉트론 알고리즘이 발전한 것
- ANN (Artificial Neural Networks) 인공싱경망이라고 불리는 학습 모델
- 뇌의 실제 신경게의 특징을 모사하여 만들어진 계산 모델임
- 뉴럴넷 이라고 가장 많이 불림
신경세포(Neuron)
- 뉴런, 수상돌기(Dendrites)에서 입력신호(다른 뉴런과의 시냅스)를 받아들임
- 신경세포 내에서 정보를 통합함
- 임계값을 넘어서는 전류가 생기면 Axon Hillock이 축삭돌기(Axon)로 최종 출력 신호(또 다른 뉴런으로 전파)를 전송
퍼셉트론
- 아래 그림에서 '원'으로 표현된 것을 뉴런 or 노드(node)라고 함.
- 입력신호(x0, x1, ...)가 뉴런에 입력되면 각각 고유한 가중치(화살표=weights, w0, w1, ...)가 곱해지고 다음 노드에서는 입력된 모든 신호를 더해줌.
- 이는 시냅스(synapses)의 연결강도(시냅스의 두께, 개수)와 같은 역할을 함
- 각 뉴런에서의 연산값이 정해진 임계값(TLU; Threshold Logic Unit)을 넘을 경우에만 다음 노드들이 있는 층(layer)으로 신호를 전달
활성 함수
- 입력된 데이터의 가중 합을 출력 신호로 변환하는 함수이다. 인공 신경망에서 이전 레이어에 대한 가중 합의 크기에 따라 활성 여부가 결정된다.
- 신경망의 목적에 따라, 혹은 레이어의 역할에 따라 선택적으로 적용한다.
- 실제 뉴런세포에서 신호를 전달(activate or fire)할지 안 할지를 결정하는 기능을 말하는데 인공신경망에서 활성화 함수는 다음 층으로 신호를 얼마만큼 전달할지를 결정
- 특징으로는 주로 비선형 함수로 되어 있다는 것
- 뉴럴네트워크에서 층을 쌓는 혜택을 얻고 싶다면 활성화함수로는 반드시 비선형 함수를 사용
- 선형 함수로 쌓게 되면 은닉층이 굳이 필요 없음 y = ax 에서 a = c^3 이라고 하면 끝
활성 함수 종류
- 시그모이드 함수
- ReLU 함수
- 계단 함수
신경망 층 구성
- 입력층
- 은닉층
- 출력층
입력층
- 데이터 셋으로 입력을 받는다
- 입력 변수의 수와 입력 노드의 수는 같다
- 계산 수행 X, 전달만 하는 특징
- 신경망 층수 개수에 포함 X
은닉층
- 입력층과 출력층 사이의 층
- 계산의 결과를 볼 수 없다
- 두 개 이상의 은닉층을 가졌을 때 딥러닝이라고 말한다
출력층
- 활성 함수가 존재
- 풀고자 하는 문제에 따라 다른 활성 함수 사용
- 회귀 문제에서 목표 변수가 실수값인 경우 활성화 함수 필요 X
- 출력 노드 수는 출력 변수의 갯수와 같다
- 이진 분류인 경우 시그모이드 함수를 활용
- 다중클래스 분류 인 경우 소프트맥스 함수를 활용
퍼셉트론의 수식
'ALL NIGHT STUDY' 카테고리의 다른 글
원격제어 - SSH란무엇인가? (0) | 2022.01.13 |
---|---|
벡터와 차원축소 (0) | 2021.09.16 |
통계적 지식 (0) | 2021.09.16 |
벡터와 매트릭스 (0) | 2021.09.16 |
조건부 확률 (0) | 2021.09.16 |