728x90

IT/AI\ML 77

[python/Tensorflow2.0] RNN(Recurrent Neural Network) ; many to one

이번에 다룰 Many to one은 특히 자연어 처리 분야에서 어떤 문장, 또는 단어를 RNN으로 인코딩하고 해당 문장 또는 단어의 sentiment를 classification하는 데 활용할 수 있다. ​ 먼저 간단하게 many to one의 활용 방법을 확인해보자. 예를 들어 'This movie is good'이라는 문장이 주어져 있을 때, 문장의 polarity를 파악하는 문제를 푼다고 가정해보자. 'This movie is good'문장을 단어의 시퀀스라고 생각해 문장을 ['This', 'movie', 'is', 'good']과 같이 단어 단위로 쪼갠 후 (이를 'Tokenization'라고 한다) Tokenization한 단어들을 RNN에 입력하면 RNN은 각각의 토큰을 읽고, 마지막 토큰을 ..

IT/AI\ML 2020.04.21

[python/Tensorflow2.0] RNN(Recurrent Neural Network) ; basic

1. RNN(Recurrent Neural Network)란? ​음악, 동영상, 에세이, 시, 소스 코드, 추가 차트의 공통점은 바로 시퀀스라는 점이다. 여기서 시퀀스(sequence)란 연관된 연속의 데이터를 의미한다. 음악은 음계들의 시퀀스, 동영상은 이미지의 시퀀스, 에세이는 단어들의 시퀀스 등으로 볼 수 있다. 한 페이지의 에세이, 한 권의 에세이 등이 있듯 시퀀스의 길이는 가변적이다. 기존의 뉴럴 네트워크 알고리즘은 고정된 크기의 입력을 다루는 데는 탁월하지만, 이러한 가변적인 크기의 데이터를 모델링하기에는 적합하지 않 는 문제점이 있었다. 이 때 등장한 것이 바로 RNN(Recurrent Neural Network, 순환신경망)이다. RNN이 기존 뉴럴 네트워크와 다른 점은 '기억'(다른 말로..

IT/AI\ML 2020.04.21

[python/Tensorflow2.0] Mnist 학습 모델 (4)-CNN; Best CNN

지금까지 배운 개념들을 활용해서 모델의 성능을 최대한 끌어내는 실습을 해본다. 우리가 사용하고 있는 CNN의 구조는 아래와 가다. CNN구조를 변경하지 않을 것이며, 이 상태에서 성능을 향상 시킬 수 있는 방법은 아래의 네 가지이다. How to Get the Best Performance ​- Data Augmentation ; 사용 데이터의 양을 늘리는 방법 - Batch Normalization - Model Ensemble - Learning Rate Decay 여기서 이 네 가지 방법을 모두 사용하여 성능을 향상시켜 볼 것이다. 따라서 이전과 달리 10단계로 뉴럴 네트워크를 구성하게 될 것이다. ​ 1. Set hyper ..

IT/AI\ML 2020.04.21

[python/Tensorflow2.0] Mnist 학습 모델 (3)-CNN; Ensemble

0. NN Implementation Flow in TensorFlow 1. Set hyper parameters ; learning rate, training epochs, batch size, ect. ​ 2. Make a data pipelining ; use tf.data # data pipeline이란 데이터 셋을 load하고, 앞에서 설정했던 batch_size만큼 테이터를 가져 와서 네트워크에 공급하는 역할 ​ 3. Build a neural network model ; tf.keras의 subclassing 사용 ​ 4. Define a loss function ; cross entropy # 뉴럴 네트워크의 output과 우리가 가진 정답(label)간의 error비교 # classifi..

IT/AI\ML 2020.04.20

[python/Tensorflow2.0] Mnist 학습 모델 (2)-CNN;Sequential, Functional, Model Subclassing

0. NN Implementation Flow in TensorFlow 1. Set hyper parameters ; learning rate, training epochs, batch size, ect. ​ 2. Make a data pipelining ; use tf.data # data pipeline이란 데이터 셋을 load하고, 앞에서 설정했던 batch_size만큼 테이터를 가져 와서 네트워크에 공급하는 역할 ​ 3. Build a neural network model ; tf.keras의 sequential API / tf.keras의 Functional API / tf.keras의 subclassing ​ 4. Define a loss function ; cross entropy # 뉴럴 ..

IT/AI\ML 2020.04.20

[python/Tensorflow2.0] Mnist 학습 모델 (1)-DNN(Deep Neural Network)

1. import fation_mnist ,cifar10, cifar100등 다른 데이터 셋을 이용하고 싶다면 이용하고 싶은 데이터 셋을 import하면 된다. import tensorflow as tf import numpy as np from tensorflow.keras.utils import to_categorical from tensorflow.keras.datasets import mnist from time import time import os print(tf.__version__) 2. Checkpoint function def load(model, checkpoint_dir): print(" [*] Reading checkpoints...") ckpt = tf.train.get_chec..

IT/AI\ML 2020.04.20

[python/OpenCV] 이미지 처리 예제 Q31~Q35

문제 링크 https://github.com/yoyoyo-yo/Gasyori100knock/tree/master/Question_31_40 yoyoyo-yo/Gasyori100knock 画像処理100本ノックして画像処理を画像処理して画像処理するためのもの For Japanese, English and Chinese - yoyoyo-yo/Gasyori100knock github.com Q31. 아핀 변환-스크류(アフィン変換、スキュー) ​(1) 아핀변환을 이용하여, 출력(1)과 같이 X-sharing(dx = 30)이미지를 만들어보자. (2) 아핀변환을 이용하여, 출력(2)과 같이 Y-sharing(dy = 30)이미지를 만들어보자. (3) 아핀 변환을 이용하여, 출력(3)과 같이 기하 변환한 (dx = 30, ..

IT/AI\ML 2020.04.20

[python/OpenCV] 이미지 처리 예제 Q26~Q30

문제 링크 https://github.com/yoyoyo-yo/Gasyori100knock/tree/master/Question_21_30 yoyoyo-yo/Gasyori100knock 画像処理100本ノックして画像処理を画像処理して画像処理するためのもの For Japanese, English and Chinese - yoyoyo-yo/Gasyori100knock github.com Q26. Bi-linear보간(Bi-linear補間) ​Bi-linear보간을 적용하여 이미지를 1.5배 확대시켜보자. Bi-linear보간이란 주변의 4화소의 거리에 따른 가중치를 매김으로써 확대에 의한 화소 변질을 보완하는 방법이다. ​ 1. 확대 이미지의 좌표(x', y')를 확대률a로 나누어 floor(x'/a, y'/a)..

IT/AI\ML 2020.04.20

[python/OpenCV] 이미지 처리 예제 Q21~Q25

문제 링크 https://github.com/yoyoyo-yo/Gasyori100knock/tree/master/Question_21_30 yoyoyo-yo/Gasyori100knock 画像処理100本ノックして画像処理を画像処理して画像処理するためのもの For Japanese, English and Chinese - yoyoyo-yo/Gasyori100knock github.com Q.21 히스토그램 정규화(ヒストグラム正規化, Histogram normalization) ​히스토그램 정규화를 적용해보자. 히스토그램을 통해 이미지가 어떤 방향으로 편향되어 있는지 알 수 있다. 예를 들어 0에 가까운 화소가 많으면 이미지는 전체적으로 어둡고, 반대로 255에 가까운 화소가 많으면 이미지는 밝아진다. 히스토그램이..

IT/AI\ML 2020.04.20

[python/OpenCV] 이미지 처리 예제 Q16~Q20

문제링크 https://github.com/yoyoyo-yo/Gasyori100knock/tree/master/Question_11_20 yoyoyo-yo/Gasyori100knock 画像処理100本ノックして画像処理を画像処理して画像処理するためのもの For Japanese, English and Chinese - yoyoyo-yo/Gasyori100knock github.com Q16. Sobel필터(Sobelフィルタ) Sobel필터(3x3)를 적용해보자. Sobel필터도 선 추출하는 필터이며, 아래와 같이 정의되어 있다. ​ 1) 세로 방향 2) 가로 방향 이것은 prewitt 필터의 중심 부분에 가중치를 부여하는 필터이다. ​ A16. Sobel필터(Sobelフィルタ)의 답안 import cv2 imp..

IT/AI\ML 2020.04.20
728x90