분류 전체보기
-
[n431] CNN과 전이학습AI 부트캠프 2021. 12. 31. 10:51
CNN (Convolutional Neural Network) CNN의 구조 (1) Feature Extractor 부분, (2) Classifier 2단계로 나뉜다. 합성곱(Convolution)과 풀링(Pooling) Convolution Filter는 이미지의 부분 특징을 읽기 위해 슬라이딩한다. 패딩 (Padding) 패딩(Padding)은 보통 이미지 가장자리를 '0'으로 둘러 싸는 제로 패딩 방식을 사용한다. 패딩을 하는 이유는 (1)이미지 맨 끝 가장자리에 있는 이미지 정보 들도 보존하기 위함과 (1)Feature map의 크기를 조절하기 위함이다. 스트라이드 (Stride) 스트라이드(Stride)는 '보폭'이라는 의미이다. 이 Stride를 통해 슬라이딩 할 때 몇 칸 씩 건너 뛸지 정할..
-
-
[n424] TransformerAI 부트캠프 2021. 12. 29. 14:00
Transformer Transformer는 기계 번역을 위해 Attention 매커니즘을 이용하여 뛰어난 번역 성능을 낸다. RNN 기반 모델은 단어가 순서대로 들어온다는 치명적인 단점이 있다. 즉, GPU의 장점을 활용하지 못하고 연산시간이 길다. 이를 해결하기 위해 Transformer는 RNN을 사용하지않고 병렬화를 통해 빠르게 연산한다. 병렬 연산을 위해 모든 토큰을 동시에 입력받아 GPU를 활용한다. 왼쪽 회색 블록이 인코더, 오른쪽이 디코더이다. 인코더 블록에는 Multi-Head (Self) Attention, Feed Forward로 구성되어 있으며, 디코더 블록에는 Masked Multi-Head (Self) Attention, Multi-Head (Encoder-Decoder) Att..
-
[n423] RNN, LSTMAI 부트캠프 2021. 12. 28. 09:17
언어 모델 (Language Model) 언어 모델이란 단어 sequence에서 각 단어의 확률을 계산하는 모델이다. 예를 들어, Word2Vect, CBoW 모두 언어 모델 예시이다. RNN (Recurrent Neural Network, 순환 신경망) 순환 신경망(RNN)은 연속형 데이터를 처리하기 위한 신경망이다. 연속형 데이터 (Sequential Data)는 순서에 따라서 단어의 의미가 달라지는 데이터이다. 위와 같이 같은 단어 'google'을 어디서 동사로 쓰는지 명사로 쓰는지 추론하는 과정을 모델링한 것이 RNN이다. 아래와 같이 한 문장의 단어를 각 각 x값으로 입력한 뒤, 가중치와 연산을 한 뒤 y값으로 반환한다. 또한 그 전에 계산했던 값이 가중치로 업데이트 된다. (Whh와 Wxh ..
-
[n422] Distributed RepresentationAI 부트캠프 2021. 12. 27. 10:25
Distributed Representation (단어의 분산 표현) 분포 가설(Distribution Hypothesis)에 의해 해당 단어 주변 단어에 의해 타겟 단어(Target word)가 결정된다. 타겟 단어는 사용자가 벡터화 하고자 하는 단어를 뜻한다. 분포 가설이란 '비슷한 위치에서 등장하는 단어들은 비슷한 의미를 가진다' 즉 단어의 분산 표현은 위의 분포 가설을 따르며, 타겟 단어가 주변 단어에 의해 결정 된다. 원-핫 인코딩 (One-hot Encoding) 원-핫 인코딩은 단어를 벡터화의 가장 쉬운 방법이다. [1 0 0 0], [0 1 0 0] 등과 같이 표현한다. sent = "I am a student" word_lst = sent.split() word_dict = {} for ..
-
[n421] Count-based RepresentationAI 부트캠프 2021. 12. 24. 09:47
자연어 처리 자연어 처리 용어 말뭉치(Corpus) : 텍스트 데이터 문서(Document) : 말뭉치가 여러 개인 문장들의 집합 문장(Sentence) : 단어와 형태소 등으로 구성된 문자열 어휘 집합(Vocabulary) : 문서와 문장을 단어/형태소와 같은 토큰 단위로 나눈 집합 자연어 (Natural Language) 우리가 일반적으로 사용하는 언어를 자연어라고 한다. 표준어가 아닐 수도 있고, 우리가 일상에서 사용하는 모든 언어를 가리킨다. 자연어 처리(Natural Language Processing, NLP)는 컴퓨터가 사용할 수 있게 처리하는 기술을 뜻한다. Text Preprocessing (텍스트 전처리) 차원의 저주 (Curse of Dimensionality) "특성의 개수가 선..
-
[신경망] 뉴스 기사 분류 (Multiclass classification)머신러닝 & 딥러닝 2021. 12. 23. 17:19
케라스에서 제공하는 로이터 데이터셋을 이용하여 총 46개의 토픽으로 분류하기 from keras.datasets import reuters (train_data, train_labels), (test_data, test_labels) = reuters.load_data(num_words=10000) Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/reuters.npz 2113536/2110848 [==============================] - 0s 0us/step 2121728/2110848 [==============================] - 0s 0us/step train_data..
-
[신경망] IMDB 영화 리뷰를 긍정/부정 이진 분류하기머신러닝 & 딥러닝 2021. 12. 22. 21:58
데이터셋 로드하기 데이터셋 : imdb (학습 25,000개, 테스트 25,000개) from keras.datasets import imdb (train_data, train_labels), (test_data, test_labels) = imdb.load_data(num_words=10000) # num_words=10000은 가장 자주 나타나는 단어 만개만 사용하기 위함. Downloading data from https://storage.googleapis.com/tensorflow/tf-keras-datasets/imdb.npz 17465344/17464789 [==============================] - 0s 0us/step 17473536/17464789 [==========..