Category: deep learning

Attention mechanism을 사용한 Seq2seq 구현

Vallina Seq2seq tf.function을 사용하기 위해 tensorflow 2.0.0-beta1버전을 설치한다. 한글 텍스트의 형태소분석을 위해 konlpy에서 Okt(Original Korean tag, Twitter에서 공개한 오픈소스 라이브러리)를 사용하기 위해 설치해준다. 12!pip install tensorflow==2.0.0-b

Attention 기법

Attention 기법Sequence-to-sequence 우선, Attention 기법이 가장 먼저 적용되었던 모델인 Sequence-to-sequence 모델을 살펴보면서 간략하게 conception적인 것을 살펴보겠다. 아래 그림의 왼쪽 부분은 Encoder 구조로 되어 있어, Input에 번역하고자 하는 문장을 단어 하나씩 받는 형태로 되어있다.

순환신경망(Vanilla RNN 및 LSTM 구현)

순환 신경망 구현 및 학습Vanilla RNN1!pip install tensorflow==2.0.0-beta1 1import tensorflow as tf tensorflow version 확인1print(tf.__version__) 하이퍼 파라미터 설정1234EPOCHS = 10# 우리가 분석할 때 10000개의 단어만 사용하겠다는 의미로 설정하였다.N

순환 신경망(RNN) - 순차 데이터의 이해

순차 데이터의 이해 우리가 순환 신경망을 사용하는 이유는 입력을 순차데이터로 받거나 출력을 순차데이터으로 내기 위해서이다. 일정한 시간차를 갖는 Time Series라면, x축이 특정 시간을 의미하는 Temporal Sequence와는 다르게 하나하나의 Step으로 간주한다. 일반적으로는 위에서 보는 것과 같이 Temporal Sequence를

DenseNet 구현 및 학습

DenseNetwork 구현 및 학습 필자는 구글 colab을 통해 학습시켰으며, @tf.function을 사용하기위해 tensorflow 2.0 버젼을 시용하였다. 1!pip install tensorflow==2.0.0-beta1 사용할 라이브러리 import 12import tensorflow as tfimport numpy as np 위에서

Residual Network 구현 및 학습

Residual Network GoogLeNet 이후에 나온 모델로 Residual 구조를 Skip connection 구조를 갖으며, pre-activation을 갖는 Residual unit을 먼저 만든 후에서 Resnet Unit을 연결하야 만들 ResnetLayer를 만들어 Residual Layer를 구현할 것이다. 그 후 전체적인 ResNet M

Basic ConvNN(VGG-16모방한 기본)구현

Basic ConvNN 구현 참고로 저는 mac을 사용하기에 local에서말고 GPU를 사용하게끔 Google Colab을 사용하였다. 제가 구현한 방식은 tensorflow 2.0 version이므로(tf.function을 사용하느라) colab의 tensorflow의 version이 뭔지 먼저 확인했습니다. 1.15 version이어서 2.0으로 설치를

Convolution Neural Network(1)

합성곱 연산과 이미지 필터 아날로그 신호처리는 선형이고 시불변인 시스템에 의존해서 개발이 되게 되는데, Noise가 있는 입력이 들어왔을 때 넣어주면 Noise가 제거된 출력이 나오는 이런 시스템을 모두 LTI system이라고 부른다. 디지털 신호가 아닌 아날로그 신호로부터 LTI system이 정의되어있다. 선형이라는 것은 대부분 알고 있듯이 선형대수

심층 신경망의 구조

심층 신경망의 구조 은닉 계층 추가 = 특징의 비선형 변환 추가!!선형 변환의 이해 선형대수의 선형 변환을 함수의 개념에서 보았을때, 입력 차원(n)이 출력 차원(m)보다 크다면 Onto(전사함수: 모든 공역이 치역이 되있는 상태)가 될 수 있지만, 그 반대인 경우는 적은 차원을 갖는 입력벡터의 차원으로 일부분의 출력 벡터의 차원을 커버하는 것이

쉽게 배우는 경사하강 학습법

쉽게 배우는 경사하강 학습법 어떤 손실 함수를 사용하느냐에 따라서 학습이 어떻게 이루어질 것인지, 그리고 학습을 할 때 정답의 형태를 결정하기 때문에 손실 함수는 중요하다! Traning Data를 Model에 입력해 우리가 학습시키고자 하는 Trainable Parameters를 얻게 되는데 Trainable Parameters들을 inpu

가장 단순한 신경망을 통한 작동원리

Node가 단일 뉴런 연산을 의미한다고 했는데 여기서의 단일 뉴런 연산이란 input에 가중치를 곱하고 합계를 낸 후에 activation function까지 통과시키는 과정을 의미한다. 위의 식에서 편향을 잊어버리지 말자!! 예를들면, 편향이 없다면 원점을 지나는 선만 표현할 수 있지만 편향을 통해 원점을 지나지 않는 선들도 표현

딥러닝이 무엇인가?

딥러닝의 이해 기계학습의 경우에는 위의 고양이와 개를 구분하기 위해서 이진 분류기를 구현할 것인데, 이런 이진 분류기를 구현하기 위해서는 Feature Extractor가 필요하다. 여기서 말하는 Feature Extractor 란 구분에 용이한 특징을 추출하여 feature vector를 만드는 데 사용하는 것이다. 이렇게 잘 추출한 특징 벡터를

deep learning_01

우선 지금부터 설명하는 내용은 패스트캠퍼스의 교육과정에서 배운 내용과 제 나름대로 책을 읽어가며 정리하는 내용을 바탕으로 작성하는 글입니다. 딥러닝 기초딥러닝? ML분야에서나 AI분야에서 활발하게 이용하고 있는데 간단히 말하자면, 여기서 말하는 ‘deep’은 학습을 수행하는 신경망(혹은 그에 상응하는 다른 것)의 층수가 ‘깊다’라는 의미이다. 즉, 여러층을