일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- K-MOOC
- 해시
- 자바스크립트
- Node
- 시스템프로그래밍
- StringTokenizer
- 단국대학교 k-mooc
- 블록체인
- 머신러닝
- 혁신의기술2:신뢰의미래 블록체인을 만나다
- CSS 기초
- K-MOOC 단국대학교 홍보단
- biginteger사용법
- 오블완
- 티스토리챌린지
- 자바입력받기
- 우선순위큐
- Entity
- 블록체인 강의
- stringreader
- 2차원배열정렬
- national instruments
- 딥러닝
- 컴파일시스템
- attribute
- html기초
- 디스크블록할당
- StringBuilder
- 블록체인강의
- 자바문자열구분
- Today
- Total
열정 실천
[AI] 006. 인공신경망 ANN 본문
인공신경망이란?
인간의 뇌는 100억개의 뉴런과 각 뉴런을 연결하는 시냅스로 구성되어있다. 시냅스를 통해 신호를 주고 받음으로써 정보를 저장하고 학습한다.
인공신경망 (ANN : Artificial Nueral Network) 은 이러한 인간의 뇌 구조와 기능을 모방한 알고리즘 모델이다.
세포체는 뉴런
수상돌기는 입력
축색돌기는 출력
시냅스는 가중치
에 해당한다.
뉴런의 형태에 대해 자세히 알아보자!
X : 입력값 (미가공 데이터 또는 다른 뉴런의 출력)
W : 가중치
Y : 출력값 (문제의 최종적인 해 또는 다른 뉴런의 입력)
여러개의 입력 신호와 각각의 가중치를 곱한 값을 합하여 활성화 수준을 계산하여 출력 링크로 출력한다.
각각의 입력에는 가중치 W가 존재하며, 가중치가 클수록 해당 입력값이 중요하다는 것을 의미한다.
여기서 편향(bias)이라는 개념도 추가되는데
신경망에서 각 뉴런의 출력에 추가되는 값으로, 모델의 학습 능력을 향상시키는 중요한 요소이다
활성화 함수를 통과하기 전 입력값 합계에 추가되어 출력값을 조정하거나 모델에 비선형성을 추가하여 더 복잡한 패턴을 학습할 수 있도록 도와준다.
단층 신경망(Single Layer Perceptron)과 다층 신경망(Multi Layer Perceptron)
훈련 데이터를 받아들이는 층을 입력층(input layer), 결과를 도출하는 층을 출력층(output layer)이라고 한다.
보통 모델의 층 개수를 셀 때는 입력층을 생략하므로 1개의 층을 갖는 모델을 단층 퍼셉트론이라고 한다.
단층 퍼셉트론은 선형으로 분류되는 데이터들에 대해서만 모델링이 가능하다. 이미지, 음성과 같은 선형적으로 분류되지 않는 데이터들을 가지고 모델링하기 위해 층의 개수를 2개 이상으로 늘린 것을 다층 퍼셉트론이라고 한다. 다층 퍼셉트론은 단층 퍼셉트론과 달이 비선형으로 분포하는 데이터들에 대해 학습이 가능해진다.
여러 층 중 입력층과 출력층을 제외한 층을 은닉층(Hidden Layer)이라고 한다. 이 은닉층이 2개 이상인 경우를 깊은 신경망(Deep Neural Network)라고 하고 이 깊은 신경망을 학습시키는 것을 딥러닝(Deep Learning)이라고 한다.
단층신경망과 다층신경망 종류
단층 신경망 | 다층 신경망 |
단층 퍼셉트론(Single-Layer Perceptron) | 다층 퍼셉트론(Multi-Layer Perceptron, MLP) |
로지스틱 회귀(Logistic Regression) | 컨볼루션 신경망(Convolutional Neural Network, CNN) |
선형 회귀(Linear Regression) | 순환 신경망(Recurrent Neural Network, RNN) |
생성적 적대 신경망(Generative Adversarial Network, GAN) | |
트랜스포머(Transformer) |
다층 퍼셉트론은 가중치에 대해 선형 방정식을 계산하기 때문에 층과 층 사이에서 선형으로 표현된 데이터를 비성
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
MLP(다층 퍼셉트론, Multilayer Perceptron)에서 오버피팅이 많이 발생하는 이유
- 모델 복잡성: MLP는 여러 개의 은닉층과 뉴런을 사용할 수 있어, 파라미터 수가 많아지기 쉽습니다. 이로 인해 데이터에 맞추어 복잡한 함수도 학습할 수 있지만, 동시에 학습 데이터에만 지나치게 적합해져 오버피팅이 발생할 가능성도 커집니다.
- 학습 데이터의 부족: 파라미터가 많은 MLP는 많은 데이터를 필요로 하지만, 충분한 학습 데이터가 없는 경우, 모델이 데이터의 노이즈와 특이 케이스에 민감하게 반응하게 되어 오버피팅될 수 있습니다.
- 과적합 방지 기법 미사용: 드롭아웃(Dropout), 정규화(Regularization), 조기 종료(Early Stopping)와 같은 과적합 방지 기법을 적용하지 않으면 MLP는 학습 데이터에 과도하게 맞추게 되어 오버피팅이 발생할 가능성이 높아집니다.
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
활성화 함수
단층 신경망에는 Step, Sign 함수가 사용되고
비선형 데이터를 다루는 다층 신경망에서는 Sigmoid, Softmax, ReLu 함수를 주로 사용한다.
Softmax는 Sigmoid를 일반화한 함수로 모든 출력 값의 합이 1으로 각 클래스가 정답일 확률을 나타내는 데 유용하다.
역전파 학습 알고리즘
역전파 알고리즘(Backpropagation)은 신경망을 학습시키는 데 사용되는 알고리즘으로, 예측값과 실제값 간의 오차를 계산하고 이 오차를 네트워크의 각 가중치에 대해 역으로 전파하여 가중치를 업데이트하는 과정이다. 이를 통해 모델이 더 정확한 예측을 할 수 있도록 학습하게 된다. 역전파는 경사 하강법과 함께 사용되어 가중치를 점진적으로 최적화한다.
'CS > AI' 카테고리의 다른 글
[AI] 합성곱 신경망 CNN (0) | 2024.11.25 |
---|---|
[AI] 005. 딥러닝 (6) | 2024.11.14 |
[AI] 004. 머신러닝의 성능평가 (회귀-MAE,MSE,RMSE / 분류 - 심플 카운팅, ROC 곡선) (2) | 2024.11.12 |
[AI] 003. 머신러닝 - 지도학습, 비지도학습, 강화학습 ++ 오버피팅 (0) | 2024.11.11 |
[AI] 002. 전문가 시스템 - 규칙기반 전문가 시스템, 퍼지규칙 (1) | 2024.11.10 |