본문 바로가기

Data Science/딥러닝7

6장 텍스트 시퀀스를 딥러닝1 6장 텍스트 시퀀스를 딥러닝1 시퀀스 데이터를 위한 딥러닝 모델은 기본적으로 순환 신경망(Recurrent Neural Network)과 1D 컨브넷이 있다. 6.1 텍스트 데이터 다루기 텍스트 데이터를 딥러닝 학습을 위한 수치형 텐서로 변환하여 딥러닝학습을 진행한다. 텍스트를 단어로 나누고 각 단어를 하나의 벡터로 변환 텍스트를 문자로 나누고 각 문자를 하나의 벡터로 변환 텍스트에서 단어나 문자의 n-그램을 추추랗여 각 n-그램을 하나의 백터로 변환 6.1.1 단어와 문자의 원-핫 인코딩 모든 단어에 고유한 정수 인덱스틀 부여하고 이 정수 인덱스 i를 크기가 N인 이진 벡터로 변환한다. 이 벡터는 i번째 원소만 1이고 나머지는 0이다. Tokenizer 원-핫 인코딩: 각각의 항목을 벡터차원으로 변환하.. 2020. 11. 8.
5장 컴퓨터 비전을 위한 딥러닝1 5장 컴퓨터 비전을 위한 딥러닝1 이번 장에는 컨브넷(convnet)이라고 불리는 합성곱 신경망(convolutional neural network)에 대해 학습하고 MNIST 숫자 이미지 분류 예시를 활용하여 컨브넷을 사용해보자 5.1 합성곱 신경망 소개 다음 코드는 기본적인 컨브넷의 모습이다. Conv2D와 MaxPooling2D 층을 쌓아올렸습니다. 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.. 2020. 10. 29.
4장 머신러닝의 기본요소 4장 머신러닝의 기본요소 3장에서는 3개의 예시를 통해 분류와 회귀에 대해 학습했습니다. 이 장에서는 딥러닝 문제에 도전하고 해결하기 위한 개념을 정립해나가겠습니다. 4.1 머신러닝의 네가지 분류 4.1.1 지도 학습 지도학습은 가장 흔한 경우입니다. 샘플 데이터가 주어지면 알고있는 타깃에 입력데이터를 매핑하면서 학습합니다. 지도학습의 대부분은 분류와 회귀로 구성되지만 몇몇 변종들도 존재합니다. 4.1.2 비지도 학습 비지도 학습의 경우 어떤 타깃도 사용하지 않고 입력데이터의 흥미로운 변화를 찾습니다. 데이터 시각화, 데이터 압축, 데이터 노이즈 제거 등 데이터에 있는 상관관계를 찾아내어 이용합니다. 4.1.3 자기 지도 학습 자기 지도 학습(self-supervised learning)은 지도학습의 특.. 2020. 10. 28.
3장 신경망 시작하기2 3장 신경망 시작하기2 3.5 뉴스기사 분류: 다중분류문제 이전 이중분류문제의 경우 2개의 클래스(긍정, 부정)를 분류하는 문제지만, 이번 문제는 46개의 클래로 분류하는 다중분류의 예입니다. 3.5.1 로이터 데이터셋 로이터 데이터셋은 46개의 토픽이 있으며, 각 토픽의 훈련세트는 최소한 10개의 샘플을 가지고 있습니다. # 로이터 데이터셋 로드하기 from keras.datasets import reuters (train_data, train_labels), (test_data, test_labels) = reuters.load_data(num_words=10000) # 로이터 데이터셋을 텍스트로 디코딩하기 word_index = reuters.get_word_index() reverse_word_i.. 2020. 10. 26.
5장 컴퓨터 비전을 위한 딥러닝2 5장 컴퓨터 비전을 위한 딥러닝2 5.3 사전에 훈련된 커브넷 사용하기 작은 이미지 데이터셋에 딥러닝을 적용하는 일반적이고 효과적인 방법은 사전에 훈련된 네트워크를 사용하는 것입니다. 사전 훈련된 네트워크(pretrained network)는 일반적으로 대규모 이미지 분류 문제를 위해 대량의 데이터셋에서 미리 훈련되어 저장된 네트워크 입니다. 사전훈련된 네트워크를 사용하는 방법은 두가지 있습니다. 특성추출(feature extraction), 미세조정(fine tuning)입니다. 먼저 특성추출부터 시작해봅시다. 5.3.1 특성추출(feature extraction) 특성추출은 사전에 학습된 네트워크의 표현을 사용하여 새로운 샘플에서 흥미로운 특성을 뽑아내는것입니다. 이러한 특성을 활용하여 새로운 분류기.. 2020. 9. 23.
3장 신경망 시작하기1 3. 신경망 시작하기 이번 포스트는 신경망이 가장 많이 사용되는 세 종류 문제인 이진 분류, 다중 분류, 회귀에 배운 것들을 적용해봅시다. 3.1 신경망의 구조 신경망 훈련에는 다음 요소들이 관련되있습니다. 네트워크(또는 모델)를 구성하는 층 입력 데이터와 그에 상응하는 타깃 학습에 사용할 피드백 신호를 정의하는 손실함수 학습진행 방식을 결정하는 옵티마이저 아래는 4가지 요소들의 관계를 나타낸 그림입니다. 3.1.1 층 : 딥러닝의 구성단위 층은 대부분 가중치라는 층의 상태를 가집니다. 가중치는 경사하강법에 의해 학습되는 하나 이상의 텐서이며 여기에 네트워크가 학습한 지식이 담겨있습니다. 층마다 적절한 텐서 포멧과 데이터 처리 방식이 다릅니다. 2D 텐서(samples, features)가 저장된 벡터데.. 2020. 8. 31.
2장 시작하기 전에: 신경망의 수학적 구성요소 2. 시작하기 전에: 신경망의 수학적 구성요소 2.1 신경망과의 첫 만남 딥러닝의 아주 기초적인 데이터셋인 MNIST를 사용한 예제를 풀어보겠다. MNIST는 딥러닝계의 "hello world"라고 생각될정도로 기초중의 기초 예제다 MNIST 데이터셋 : 6만개의 훈련 이미지와 1만개의 테스트 이미지로 구성 이번 예제의 경우 케라스를 완벽하게 이해하지 않아도 된다. 이번 예제는 케라스의 전체적인 구성과 코드의 흐름만 파악하도록 하자 # 2-1 케라스에서 MNIST 데이터셋 적제하기 from keras.datasets import mnist from keras.utils import to_categorical (train_images, train_labels),(test_images, test_labels.. 2020. 8. 31.