Fully Connected Neural Network (완전 연결 신경망)

5단 분석법

순서
분석
단어
내용
1
일반 명사
Fully
완전히, 충분히
Connected
연결되다, 이어지다
Neural
신경
Network
FCNN
완전히 연결된 신경망?
2
고유 명사
FCNN
모든 뉴런이 이전 층의 모든 뉴런과 연결된 신경망 구조
3
사용 이유
FCNN
입력 데이터의 피처를 학습하여 복잡한 패턴을 인식하고, 분류 및 회귀와 같은 다양한 예측 작업을 효과적으로 수행할 수 있기 때문에
4
사용 방법
FCNN
5
다른 기술과의 비교
FCNN
-

정의

일반 명사

Fully
완전히, 충분히
Connected
연결되다, 이어지다
Neural
신경
Network
FCNN
완전히 연결된 신경망?
Fully의 뜻은 완전히, 충분히 입니다.
Connected는 연결되다, 이어지다 라는 뜻입니다.
Neural은 신경, Network는 망이라는 뜻을 가지고 있습니다.
Fully Connected Neural Network(이하 FCNN)의 뜻을 미루어보면, 완전히 연결된 신경망이라고 생각해 볼 수 있습니다.
고유 명사를 한 번 살펴볼까요?
Artificial Neural Network (인공 신경망)와 Fully Connected Neural Network (완전 연결 신경망)의 차이는 무엇인가요?
Artificial Neural Network (ANN)는 여러 종류의 신경망 아키텍처를 포함하는 포괄적인 용어입니다.
Fully Connected Neural Network (FCNN)는 ANN의 한 종류로, 모든 뉴런이 이전 층의 모든 뉴런과 연결되는 구조입니다.
따라서, 모든 FCNN은 ANN이지만, 모든 ANN이 FCNN은 아닙니다. ANN에는 FCNN 외에도 다양한 종류의 신경망이 포함될 수 있습니다.

고유 명사

FCNN
모든 뉴런이 이전 층의 모든 뉴런과 연결된 신경망 구조
FCNN은 모든 뉴런이 이전 층의 모든 뉴런과 연결된 신경망 구조입니다.
FCNN구조는 입력 데이터의 모든 feature(특징)를 활용하여, 복잡한 패턴을 학습하고 예측하는 데 효과적입니다.
FCNN은 주로 분류(classification)와 회귀(regression)작업에서 사용되며, 이미지 인식, 자연어 처리, 시계열 에측 등 다양한 분야에서 응용됩니다.
장점
단점
구현이 비교적 간단하고 이해하기 쉬움.
피처 수가 많아지면 연산량이 급격히 증가함.
입력 데이터의 모든 피처를 학습하므로, 복잡한 패턴을 잘 인식할 수 있음.
데이터가 많아질수록 과적합(overfitting) 위험이 있음.
다양한 예측 작업(분류, 회귀 등)에 사용 가능.
이미지나 시계열 데이터와 같은 특수한 데이터에는 적합하지 않음.

사용 이유

FCNN
입력 데이터의 피처를 학습하여 복잡한 패턴을 인식하고, 분류 및 회귀와 같은 다양한 예측 작업을 효과적으로 수행할 수 있기 때문에
FCNN은 각 층의 모든 뉴런이 이전 층의 모든 뉴런과 연결되어 있어, 입력 데이터의 모든 피처를 학습할 수 있습니다.
이러한 특성 덕분에 복잡한 패턴을 인식하고, 다양한 예측 작업을 효과적으로 수행할 수 있습니다.
이유
설명
범용성
다양한 형태의 데이터와 문제에 적용 가능합니다.
높은 표현력
모든 피처 간의 상호작용을 학습하여 복잡한 패턴을 인식할 수 있습니다.
쉽게 구현 가능
신경망 구조가 단순하여 구현이 용이합니다.

사용 방법

TensorFlow (Keras)

PyTorch

알아 두면 좋은 정보

다른 신경망 구조와의 비교

정리

신경망 구조
특화된 용도
주요 특징 및 장점
학습 방식
CNN (Convolutional Neural Network)
이미지 데이터 처리
지역적인 패턴 학습, 합성곱 연산 사용
순차 학습, Flatten Layer로 변환 후 완전 연결층에 전달
RNN (Recurrent Neural Network)
순차적인 데이터 처리
순차적 데이터의 패턴 학습, 이전 시점 상태와 현재 시점 상태 고려
순차 학습
LSTM (Long Short-Term Memory)
장기 의존성 문제 해결
중요한 정보 유지, 불필요한 정보 망각, vanishing gradient 문제 해결
순차 학습
Transformer Architecture
다양한 데이터 처리
Attention 메커니즘 사용, 중요한 정보 부각, 병렬 학습 가능
병렬 학습

CNN(Convolutional Neural Network)

이미지 데이터 처리에 특화된 구조
데이터가 지역적인 정보일 때 주로 사용함
픽셀 단위로 나누어 Flatten Layer로 Neural Network에 보내면 데이터의 형질이 다 깨지기 때문에 한 번에 모아서 보는 특징을 가지고 있음

RNN(Recurrent Neural Network)

순차적인 데이터 처리에 특화된 구조
데이터가 연속적인 정보일 때 주로 사용함
직렬 학습에 최적화 되어 있음

LSTM(Long Short-Term Memory models)

RNN의 단점을 보완하기 위해 등장한 개념
RNN은 처음과 끝의 데이터가 서로 멀리 있기 때문에 weight값을 조정하면서 Vanishing gradient가 발생할 가능성이 높음
핵심 단어만 뽑고, 필요 없는 단어는 망각시키는 특징을 가지고 있음
성능이 좋을 지 안좋을 지는 직접 실험해보아야 함
직렬 학습에 최적화되어 있음

Transformer Arichitecture

Attension 이라는 개념을 사용함
LSTM의 핵심이 불필요한 것을 “망각” 시키는 것이라면, Attension의 핵심은 중요한 단어를 “부각” 시키는 것
부각된 단어만 오히려 연산을 크고 깊게 하자
병렬 학습에 최적화되어 있음
데이터가 들어오면 데이터를 쪼개 특정 GPU에 보내고 병렬적 학습을 할 수 있도록 세팅이 되어 있음
ⓒ 2024 startupcode. 모든 권리 보유. 무단 복제 금지.