딥러닝을 이용해 가상의 이미지를 만드는, 또 하나의 유명한 알고리즘으로는 오토인코더 (Auto-Encoder, AE)가 있음오토인코더는 GAN과 비슷한 결과를 만들지만, 다른 성질을 지니고 있음GAN이 세상에 존재하지 않는 완전한 가상의 것을 만들어 내는 반면에, 오토인코더는 입력 데이터의 특징을 효율적으로 담아낸 이미지를 생성해 냄따라서 어떤 입력 데이터를 사용하는가에 따라서 생성되는 이미지의 특징이 달라지게 됨 오토인코더는 영상 의학 분야 등 아직 데이터 수가 충분하지 못한 분야에서 사용될 수 있음오토인코더는 차원 축소 알고리즘으로도 활용될 수 있음입력 층보다 적은 수의 노드를 가진 은닉층을 중간에 넣어 줌으로써 차원을 줄여 줌이 때 소실된 데이터를 복원하기 위해 학습을 시작하고, 이 과정을 통해 입..
빅데이터 분석가 양성과정/Python - 딥러닝
생성적 적대 신경망(GAN, Generative Adversarial Network)딥러닝의 원리를 활용해 가상의 이미지를 생성하는 알고리즘적대 (Adversarial, 서로 대립 관계에 있는)이란 단어는 GAN 알고리즘의 성격을 잘 표현함진짜 같은 가짜 이미지를 생성하기 위해 GAN 알고리즘 내부에서는 ‘적대적’인 경합을 진행하기 때문임생성자(Generator) : 가짜 이미지를 만들어 내는 공장임초기에는 무작위한 픽셀 값으로 채워진 가짜 이미지로 시작해서 판별자의 판별 결과에 따라 지속적으로 학습하며, 점차 진짜 같은 가짜 이미지를 생성함페이스북의 AI 연구팀이 만들어 발표한 DCGAN(Deep Convolutional GAN)은 생성자 신경망으로 컨볼루션 신경망(CNN)을 이용함먼저 옵티마이저(op..
RNN순환 신경망(RNN, Recurrent Neural Network) 연속된 데이터가 순서대로 입력되었을 때 앞서 입력받은 데이터를 잠시 기억해 놓는 방법 기억된 데이터 당 중요도 가중치를 주면서 다음 데이터로 넘어감 모든 입력 값에 이 작업을 순서대로 실행. 다음 층으로 넘어가기 전 같은 층을 맴도는 것처럼 보임 LSTMLSTM(Long Short Term Memory)RNN의 기울기 소실 문제 보완을 위해 나온 방법한 층에서 반복되기 직전에 다음 층으로 기억된 값을 넘길지 관리하는 단계를 하나 더 추가하는 것 # 로이터 뉴스 데이터셋 불러오기from tensorflow.keras.datasets import reuters# 불러온 데이터를 Test/Train으로 분할(X_train, Y_tra..
자연어 처리(NLP, Natural Language Processing) : 음성이나 텍스트를 컴퓨터가 인식하고 처리하는 것AI 스피커 애플 시리, 구글 어시스턴트, 아마존 알렉사, SK Nugu, 네이버 클로바 딥러닝이 등장하면서 자연어처리 연구가 활발해짐 (대용량 데이터를 학습할 수 있는 딥러닝의 속성 때문) 컴퓨터는 수치 데이터만 이해할 수 있기 때문에, 자연어처리는 텍스트 전처리 과정이 필수임덱스트의 토큰화먼저 해야 할 일은 텍스트(문장)를 잘게 나누는 것토큰(token) : 텍스트(문장)를 단어별, 문장별, 형태소별로 나눌 수 있는데, 이렇게 나누어진 단위토큰화(tokenization) : 입력된 텍스트를 잘게 나누는 과정#텍스트 정의text = '해보지 않으면 해낼 수 없다.'케라스 text ..
import tensorflow as tffrom tensorflow import kerasimport numpy as npimport matplotlib.pyplot as pltfrom tensorflow.keras import datasets, layers, modelsfashion_mnist = keras.datasets.fashion_mnist(train_images, train_labels), (test_images, test_labels) = fashion_mnist.load_data()train_images = train_images / 255.0test_images = test_images / 255.0model = models.Sequential()model.add(layers.Flatt..
경사 하강법가중치를 업데이트하는 방법으로 우리는 경사 하강법을 배웠음경사 하강법은 정확하게 가중치를 찾아가지만, 한 번 업데이트할 때마다 전체 데이터를 미분해야 하므로 계산량이 매우 많다는 단점이 있음경사 하강법은 불필요하게 많은 계산량은 속도를 느리게 할 뿐 아니라, 최적 해를 찾기 전에 최적화 과정이 멈출 수도 있음이러한 점을 보완한 고급 경사 하강법이 등장하면서 딥러닝의 발전 속도는 더 빨라짐확률적 경사 하강법(Stochastic Gradient Descent, SGD)전체 데이터를 사용하는 것이 아니라, 랜덤하게 추출한 일부 데이터를 사용함일부 데이터를 사용하므로 더 빨리 그리고 자주 업데이트를 하는 것이 가능해짐속도가 빠르고 최적 해에 근사한 값을 찾아낸다는 장점 덕분에 경사 하강법의 대안으로 ..