본문 바로가기

coursera71

NLP and Word Embeddings: Word2vec & GloVe 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 2) [Learning word embeddings] 단어 임베딩(Word Embedding) 딥러닝 연구에서 초반에는 비교적 복잡한 알고리즘으로 시작했다. 그리고 시간이 지나면서, 훨씬 더 간단하고 단순한 알고리즘도 가능하고, 특히 큰 데이터셋에서 매우 좋은 결과를 얻을 수 있다는 것을 발견하게 되었다. 최근 가장 인기있는 몇몇의 알고리즘들은 너무 단순해서 마치 마법처럼 보일 수도 있을 정도이다. 단어 임베딩이 어떻게 동작하는지 직관적으로 이해하기 위해서 더 복잡한 알고리즘의 일부를 살펴보도록 하자. La.. 2020. 12. 26.
Introduction to Word Embeddings 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 2) - Introduction to Word Embeddings [Word Representation] 저번주 강의에서 RNN, GRU, LSTM에 대해서 배웠고, 이번주에서는 NLP에 어떤 아이디어들을 적용할 수 있는지 살펴보도록 할 것이다. NLP에서 중요한 아이디어 중의 하나는 Word Embedding(단어 임베딩)이다. 지난 주에 사용했던 1만개의 단어에 대해서 우리는 one-hot encoding을 통해서 단어를 표시했다. 즉, Man은 5391의 index를 갖고 있으며, 10000 dimen.. 2020. 12. 24.
[실습] Character-level Language Modeling 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 1) 1주차 두번째 실습은 Character-level language model을 구현해보는 것입니다. 주제는 공룡 이름 짓기이며, 기존 공룡 이름들로 학습해서 새로운 공룡 이름을 짓는 모델입니다. 기존 공룡 이름은 dataset을 참조바랍니다. 필요한 패키지들을 import하고 시작해보도록 하겠습니다. import numpy as np from utils import * import random import pprint utils에는 이전 실습에서 구현한 Simple RNN의 각 step 함수들과 초기화.. 2020. 12. 21.
[실습] Building a RNN step by step(Basic RNN, LSTM) 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 1) RNN 1주차 실습은 Simple RNN, LSTM, GRU를 Step by step으로 구현해보는 것입니다. 그리고 다음 실습에서 이렇게 구현한 함수들을 통해서 Music generator를 구현해보도록 할 예정입니다. 실습에 들어가기 전에 Notation부터 설명하겠습니다. 위첨자 [l]은 \(l^{th}\) layer를 의미함 위첨자 (i)는 \(i^{th}\) sample data를 의미함 위첨자 는 \(t^{th}\) time-step을 의미함 아래첨자 i는 벡터의 \(i^{th}\) 요소를 .. 2020. 12. 21.
Recurrent Neural Networks 2 (GRU, LSTM, BRNN) 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Recurrent Neural Network를 듣고 정리한 내용입니다. (Week 1) [Gated Recurrent Unit(GRU)] 앞서 Basic RNN이 어떻게 동작하는지 살펴보았고, 이번에는 GRU라는 조금 더 긴 시퀀스를 잘 캡처(장기의존성 문제)하고, Vanishing Gradient 문제를 해소할 수 있는 GRU에 대해서 살펴보도록 하자. GRU는 다음에 나오는 LSTM과 유사하지만, 조금 더 간략한 구조를 가지고 있다. GRU를 간단하게 표현하면 위와 같다. 여기서 새롭게 나타나는 c는 memory cell을 의미하며 이전 정보들이 저장되는 공간이다. 이전 정보가 \(c.. 2020. 12. 21.
Recurrent Neural Networks 1 (Basic of RNN model) 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 다섯 번째 강의 Sequence Models를 듣고 정리한 내용입니다. (Week 1) [Why sequence models] 다섯번째 강의에서는 Sequence model에 대해서 배운다. 딥러닝에서 가장 흥미로운 분야 중 하나이며, Recurrent Neural Network(RNN)같은 모델은 음성 인식, 자연어 처리(NLP) 영역에 영향을 끼쳤다. 아래는 시퀀스 모델이 사용되는 몇 가지 예시들이다. 음성 인식(Speech recognition)의 경우에는 Input X인 오디오가 Text output Y에 매핑된다. 입력과 출력 모두 시퀀스 데이터인데, X는 시간에 따라 재생되는 음성이며, Y는 .. 2020. 12. 20.
Neural Style Transfer 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 네 번째 강의 Convolutional Neural Networks를 듣고 정리한 내용입니다. (Week 4) [What is neural style transfer?] Neural Style Transfer는 Convnet으로 구현할 수 있는 흥미로운 어플리케이션 중의 하나이다. 이 네트워크를 통해서 자신만의 예술 작품을 만들 수 있다. 이미지를 새로운 Style로 변형하는 것인데, 원본 이미지(Content)와 변형할 스타일(Style)을 가지고 새로운 Style의 이미지(Generated Image)를 합성하는 것이다. Neural Style Transfer를 구현하려면 ConvNet의 다양한 la.. 2020. 12. 1.
Face recognition 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 네 번째 강의 Convolutional Neural Networks를 듣고 정리한 내용입니다. (Week 4) [What is face recognition?] 얼굴 인식 분야에서 세부적으로 얼굴 검증(Verification)과 인식(Recognition)으로 분류된다. Face Verification의 경우에는 사람의 이름이나 ID, 이미지가 주어졌을 때, 이 사람이 맞는가에 대한 여부를 확인한다. 1:1 문제라고도 부르고, 요청한 그 사람이 맞는지 여부를 알게 한다. 반면에 Face Recognition의 경우에는 1:K 문제라고도 하는데, K 명의 database가 있으면 주어진 이미지를 통해서 K.. 2020. 11. 30.
CNN (LeNet-5, AlexNet, VGG-16, ResNets, Inception Network) 해당 내용은 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 네 번째 강의 Convoluional Neural Network를 듣고 정리한 내용입니다. (Week 2) - Case Studies [Why look at case studies?] 여러 연구/논문에서 CNN의 효과적인 Building Block 구성 방법이 연구되었으며, 이런 예시들을 참고하는 것이 CNN으로 학습할 때 유용하다. 현대 Computer Vision의 토대가 되는 Classic Networks는 아래와 같은 것들이 있다. LeNet-5 AlexNet VGG 그리고, 이번 강의에서 CNN에서 유용하게 사용되는 ResNet or Conv Residual Network와 Inception N.. 2020. 11. 18.
Hand SIGNS 분류 예제 (2) - CNN 구조 사용 (tensorflow v2.3.0) 2020/11/17 - [ML & DL/tensorflow] - Hand SIGNS 분류 예제 (1) Hand SIGNS 분류 예제 (1) (tensorflow v2.3.0) Coursera Deep Learning 특화과정에 실습으로 진행했던 SIGNS dataset을 가지고, 위 이미지와 같이 분류를 해보도록 할 것입니다. Coursera 실습은 tensorflow 1로 진행되는데, 2버전에 맞추.. junstar92.tistory.com 이번에는 이전 게시글에서 사용했던 dataset으로 Convolutional Neural Network(ConvNet) 구조로 모델을 구현하고 학습을 해보려고 합니다. 그리고, 이전 게시글에서 언급했듯이 label data를 on.. 2020. 11. 17.