BLOG 썸네일형 리스트형 독특할 뿐, 어렵지 않은 RNN 구조 【5】RNN 기본 다지기 / 순환 신경망의 출현 독특할 뿐, 어렵지 않은 RNN 구조 예시: 작성자 홍다혜 ghdek11@gmail.com / 이원재 wonway333@gmail.com 더보기 시계열 데이터 분석을 위한 RNN 【5】RNN 기본 다지기 / 순환 신경망의 출현 시계열 데이터 분석을 위한 RNN 지금까지 살펴본 신경망 모델의 구조를 단순화시킨다면 아래와 같이 생각할 수 있다. 즉 화살표 오른쪽에 있는 그림처럼 신경망 모델을 표현 할 수 있다. 파란 동그라미가 입력으로 들어가면 네모박스에 있는 은닉층들을 통과하여 파란 동그라미로 출력이 된다. 여기서 하나의 네모 박스 안에는 여러개의 가중치(weights)가 포함되었다고 이해할 수 있다. 이제 우리는 단순화시킨 오른쪽 그림을 사용해 RNN을 이해해 볼 것이다. 텍스트 데이터를 이용해 예시를 들어보겠다. 한 문장에 대한 다음 문장을 예측하는 모델을 만든다고 가정해보자. 그렇다면 입력데이터는 하나의 문장이 될 것이고 출력데이터도 마찬가지로 예측한 하나의 문장일 것이다. .. 더보기 순환 신경망의 출현 : 시계열 데이터 분석의 이해 【5】RNN 기본 다지기 / 순환 신경망의 출현 순환 신경망의 출현 : 시계열 데이터 분석의 이해 지금까지 다뤘던 인공신경망은 사실 독립적인 데이터를 다루기에 적합하다. 그러나 순서가 있는 데이터를 독립적으로 본다면 어떻게 될까? 데이터 속의 관계성이 깨질것이며 이는 곧 정보의 손실을 의미한다. 이러한 문제를 해결하기 위해 등장한 것이 바로 순환신경망(Recurrent Neural Network, RNN)이다. 간단히 말하면 연속된 데이터를 다루는데 적합한 신경망이다. 이번 장에서는 RNN에 대해서 알아볼 차례이다. 그 전에 연속된 데이터가 무엇인지 먼저 설명하겠다. 이는 RNN의 재료가 될 뿐만 아니라 RNN의 구조를 이해하는데 도움이 될 것이다. "시계열 데이터 분석의 이해" 순서가 있는 데이터를 일.. 더보기 YOLO (이론 + 실습) 【3】이미지 분류를 넘어, Object Detection 모델 / R-CNN 이론 + 실습 YOLO (이론 + 실습) YOLO는 현재 v3 모델까지 나온 상황이며 v3 코드를 다루겠다 !wget https://pjreddie.com/media/files/yolov3.weights YOLOv3를 사용하기에 앞서 가중치를 받아야 한다 import os import scipy.io import scipy.misc import numpy as np import pandas as pd import PIL import struct import cv2 from numpy import expand_dims import tensorflow as tf from skimage.transform import resize fr.. 더보기 faster R-CNN (이론 + 실습) 【4】이미지 분류를 넘어, Object Detection 모델 / R-CNN 이론 + 실습 faster R-CNN (이론 + 실습) Resnet을 입힌 Detection model(이론 + 실습) 텐서플로우 공홈에서 배포하고 있는 Faster R-CNN (inception resnet) 모델이다. 코드를 보면서 어떤 구조인지 이해를 해보자 import tensorflow as tf import tensorflow_hub as hub import matplotlib.pyplot as plt import tempfile from six.moves.urllib.request import urlopen from six import BytesIO import numpy as np from PIL import Im.. 더보기 이미지 분류하기 - 실습 【3】최근 CNN 응용 모델 이해하고 사용하기 이미지 분류하기 - 실습 케라스에서는 이미 학습이 완료된 이미지 분류모델들을 모듈로 공유하고 있습니다. 그래서 해당 모델들을 쓰는 법을 배워보겠습니다. 해당 모델들은 Imagenet이라는 데이터셋으로 학습을 하였고, 입력을 받을수 있는 이미지크기부터 RGB 배열까지 달라 사용에 유의해야합니다. from tensorflow.keras.applications import VGG16 from tensorflow.keras.applications import VGG19 from tensorflow.keras.applications import ResNet50 from tensorflow.keras.applications import ResNet152 from ten.. 더보기 ResNet (이론) 【3】최근 CNN 응용 모델 이해하고 사용하기 ResNet ResNet(Residual Network)은 마이크로소트프의 중국 연구진들이 개발하여 2015년 ILSVRC 대회에서 우승한 신경망이다. 놀라운 점은 대회에서 Top-5 오류율이 3.57%라는 것인데 보통 사람이 이미지를 인식할때 오류율이 약 5% 정도이므로 사람을 뛰어넘은 최초의 신경망으로 기록되었다. ResNet은 152개의 층 수를 가진 기존의 신경망과는 비교할 수 없을 만큼 깊은 신경망이다. 일반적으로 해결해야하는 문제가 복잡할 수록 신경망의 깊어 져야 하지만 기울기 손실(vanishing gradient) 혹은 기울기 폭발(exploding gradient)문제가 뒤따르고 깊어진 층 수 만큼 파라미터 수가 늘어나므로 에러가 커지는 상황.. 더보기 GoogleNet (인셉션 모듈/평균 풀링/보조 분류기) 【3】최근 CNN 응용 모델 이해하고 사용하기 GoogleNet (인셉션 모듈/평균 풀링/보조 분류기) 구글넷은 2014년 이미지넷 인식 대회(ILSVRC14)에서 VGG를 이기고 우승한 알고리즘이다. 구글넷은 신경망 내부 컴퓨터 자원의 활용을 높이기 위해 계산량을 일정하게 유지하면서 신경망의 깊이와 폭을 늘릴 수 있도록 설계되었다. 구글넷의 전체적인 구조는 다음의 그림과 같다. 구조도와 함께 구글넷의 특징을 몇가지 살펴 보도록 하겠다. 그림에서 표시된 세개의 부분 중 첫번째 1번이라고 표시된 보라색 상자 부분을 보자. ① 인셉션 모듈(inception module) 구조도에서 보라색 상자로 색칠되어 있는 부분을 보자. 마치 작은 신경망을 연상케 하는 모듈들이 연결되어 있다. 구글넷에서는 이렇게 신경망안.. 더보기 VGGNet (이론) 【3】최근 CNN 응용 모델 이해하고 사용하기 / VGGNet (이론) VGG는 기본적인 CNN의 구조에 깊이를 증가시킨 형태이다. 논문 "Very Deep Convolutional Networks For Large-Scale Image Recognition" 의 제목과 개요에 나와있 듯 VGG는 신경망의 깊이를 깊게 하는데 중점을 두었다. 이러한 이유로 (3,3)의 작은 필터 사이즈를 주어 깊이를 최대로 늘리고자 했다. 필터가 작으면 피처맵의 사이즈가 조금씩 줄어드므로 합성곱 층과 풀링 층을 많이 쌓을 수 있기 때문이다. VGG팀은 최대 19개 까지 층을 늘리는 실험을 통해 층이 16개 이상일 때 성능이 좋다는 것을 발견하고 층이 16개와 19개인 VGG16, VGG19 모델을 만들었다. 아래의 표를 .. 더보기 이미지 분류하기 【2】CNN_합성곱 신경망 / 이미지 분류하기 이미지 분류하기 CNN으로 이미지를 분류해보자. try: %tensorflow_version 2.x except Exception: pass import tensorflow as tf #텐서플로우 2.x 실행 CNN을 돌리기에 앞서 텐서플로우(Tensorflow) 버전을 2.x으로 바꿔야 한다. 그래서 위에 코드를 실행하면 2.x로 바뀝니다. from tensorflow.keras import datasets, layers, models 모델을 작성하기에 앞서 keras 패키지를 호출한다. (train_images, train_labels), (test_images, test_labels) = datasets.mnist.load_data() 이미지 분류에 사.. 더보기 이전 1 ··· 12 13 14 15 16 17 18 ··· 39 다음