본문 바로가기

Deep Learning6

[Keras] VGG-net Keras로 작성된 VGG 종류에 따른 코드이다. VGG11, VGG11-LRN, VGG13, VGG16, VGG16-conv1 모델들이다. VGG11 def create_model(input_shape, label_class_cnt: int): """ :param input_shape: 입력 이미지 형태 :param label_class_cnt: 출력 class 수 :return: 생성된 모델 """ # weight 초기화 He_normal = initializers.he_normal(seed=None) model = Sequential() model.add(Conv2D(64, kernel_size=(3, 3),activation='relu',padding='same', input_shape=input.. 2022. 9. 1.
CNN(Convolutional Neural Network) 합성곱 신경망 일반적인 DNN (Deep Neural Network)은 기본적으로 1차원 형태의 데이터를 사용한다. 따라서 이미지가 입력될 경우, 이것을 flatten 시켜서 한줄의 데이터로 만들게 된다. 이 과정에서 이미지의 공간적 정보가 손실되어, 특징 추출과 학습이 비효율적이고 정확도의 한계가 발생한다는 문제가 있었다. 그래서 CNN(Convolutional Neural Network)을 통해 이미지를 raw input으로 받음으로써, 공간적/지역적 정보를 그대로 유지한채 특성들의 계층을 빌드업하게 된다. Convolutional Layer 기본적으로 Convolutional Layer에는 input 값인 이미지와 필터(=합성곱 커널 : convolution kernel)가 있다. 위의 그림처럼, 필터(=커널:k.. 2022. 8. 23.
RNN(Recurrent Neural Network) 순환 신경망 RNN(Recurrent Neural Network)은 입력과 출력을 시퀀스 단위로 처리하는 반복적인 데이터, 순차적인 데이터를 학습하는데 특화된 시퀀스(Sequence) 모델입니다. 번역기를 생각해보면 입력은 번역하고자 하는 단어의 시퀀스인 문장이다. 출력에 해당되는 번역된 문장 또한 단어의 시퀀스이다. 이와 같이 시퀀스들을 처리하기 위해 고안된 모델들을 시퀀스 모델이라고 한다. 그 중 RNN은 가장 기본적인 인공 신경망 시퀀스 모델이다. RNN 구조 기존의 인공 신경망은 이와 같이 각 층의 뉴런이 연결되어 있는 구조이다. 이에 추가적으로 RNN은 아래와 같은 방식을 사용한다. 이렇게 과거 자신의 정보(가중치)를 기억하고 이를 학습에 반영한다. 위의 layer를 한개의 box로 취급하여 단순화 시키면 .. 2022. 8. 19.
[Deep Learning] 앙상블 학습(Ensemble Learning) 앙상블 학습(Ensemble Learning)에 대해 알아보자. 목 적 앙상블 학습(Ensemble Learning)이란 하나의 모델만을 학습시켜 사용하지 않고 여러 모델을 학습시켜 결합하는 방식으로 문제를 처리한다. 특히, 모델 하나로 원하는 성능을 낼 수 없을 때 앙상블 학습을 사용하면 효과적이며, 개별로 학습한 여러 모델을 조합하여 일반화(generalization) 성능을 향상할 수 있다. 방 법 - 여러 분류 알고리즘 사용 : 다수결 투표 - 하나의 분류 알고리즘 이용 : 배깅(Bagging), 부스팅(Boosting) 종 류 - 투표(Majority Voting) : 동일한 훈련세트 - 배깅(Bagging) : 훈련 샘플에서 알고리즘마다 별도의 훈련세트 추출 * 랜덤 포레스트(Random Fo.. 2021. 7. 29.