DNN과 CNN

정의민·2022년 12월 8일
0

✨DNN과 CNN에 대해 알아보자잉~✨

⭐ANN (Artificial Neural Network) - 인공신경망

: 사람의 신경망 원리와 구조를 모방하여 만든 기계학습 알고리즘이자 모든 비선형 함수를 학습

✅구성

model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))

🎈 다수의 입력 데이터를 받는 입력층(Input) -> model = Sequential()
🎈 입력층과 출력층 사이에 존재하는 은닉층(Hidden Layer) -> model.add(Dense(12, input_dim=8, activation='relu'))
: 활성화 함수를 사용하여 최적의 가중치(Weight)와 Bias를 찾아내는 역할
🎈 데이터의 출력 담당하는 출력층(Output) -> model.add(Dense(1, activation='sigmoid'))
🔷 모델을 구성 == hidden layer들의 갯수와 노드의 개수를 구성하는 것.

🔷 모델을 잘 구성하여 원하는 Output 값을 잘 예측해야 한다

✅ANN 모델의 단점

  • 학습과정에서 파라미터의 최적값을 찾기 어려움
    -> sigmoid 함수의 기울기 소실 문제 때문

  • 학습시간이 느림
    -> 은닉층이 추가될수록 성능은 좋아지지만 연산량 증가

  • overfitting(과대적합) 문제

⭐DNN(Deep Neural Network) - 심층신경망

: DNN은 아마도 딥 러닝을 위한 가장 잘 알려진 네트워크이며 데이터의 특징을 아주 잘 학습하도록 훈련될 수 있다
-> 2개 이상의 은닉층으로 학습
-> ANN의 문제점을 해결하기 위해 만들어짐
-> 형태는 ANN과 똑같다 (은닉층만 늘어날뿐)
-> 사물 식별 모델을 위한 심층 신경망 구조에서는 각 객체가 이미지 기본 요소들의 계층적 구성으로 표현될 수 있음
🔷 비슷하게 수행된 ANN에 비해 더 적은 수의 유닛(unit, node)들 만으로도 복잡한 데이터를 모델링 할 수 있게 해준다


출처: https://www.researchgate.net/figure/Typical-architectures-of-artificial-neural-networks-ANN-and-deep-neural-networks-DNN_fig2_337243824

⭐CNN(합성곱신경망 : Convolution Neural Network)

-> 정보추출, 문장분류, 얼굴인식 등 널리 사용, 특히 이미지 및 비디오 처리에 활용
-> 핵심 요소는 커널(콘볼루션 연산을 사용하여 입력에서 관련 기능 추출)이라는 필터
-> 암시적으로 필터를 자동으로 학습(입력데이터에서 올바른 관련 기능 추출에 도움)
-> 입력 데이터의 특징을 추출하여 특징들의 패턴 파악하는 구조
-> Convolution과정과 Pooling 과정으로 진행

model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3), activation='relu', input_shape=(28, 28, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))

출처: https://docs.ecognition.com/eCognition_documentation/Reference%20Book/02%20Algorithms%20and%20Processes/9%20Deep%20Learning%20%28CNN%29%20Algorithms/Deep%20Learning%20%28CNN%29%20Algorithms.htm

❤️ 출처: https://dbrang.tistory.com/1537
❤️ 출처: https://velog.io/@arittung/ANN-DNN-CNN-RNN
❤️ 출처: https://velog.io/@selenium/%EB%94%A5%EB%9F%AC%EB%8B%9D-DNNDeep-Neural-Network

profile
Speaking Potato🥔

0개의 댓글

관련 채용 정보