반응형 컴퓨터과학5 RNN 과 LSTM의 개념과 알고리즘 RNN은 순환 경로를 포함하며 과거의 정보를 기억할 수 있습니다. 구조가 단순하여 구현도 쉽게 할 수 있죠. 하지만 안타깝게도 성능이 좋지 못합니다. 그 원인은 (많은 경우) 시계열 데이터에서 시간상으로 멀리 떨어진, 장기 의존 관계를 잘 학습할 수 없다는 데 있습니다. 요즘에는 단순한 RNN 대신 LSTM이나 GRU라는 계층이 주로 쓰입니다. 실제로 그냥 'RNN'이라고 하면 일반적인 RNN이 아니라 LSTM을 가리키는 경우도 흔합니다. 그럴 땐 오히려 명시적으로 '기본(적인) RNN'이라 하기도 합니다. LSTM이나 GRU에는 '게이트'라는 구조가 더해져 있는데, 이 게이트 덕분에 시계열 데이터의 장기 의존 관계를 학습할 수 있습니다. 여기서는 기본 RNN의 문제점을 알아보고, 이를 대신하는 계층으로.. 2022. 5. 29. 혼자 공부하는 머신러닝 + 딥러닝 7장 요약 텐서플로와 케라스 텐서플로는 구글이 2015년 11월 오픈소스로 공개한 딥러닝 라이브러리입니다. 이때를 기점으로 딥러닝에 대한 개발자의 관심이 늘어났고, 2016년 3월 알파고가 이세돌 9단을 이겨 대중에 알려지면서 그야말로 폭발적으로 인기가 높아졌습니다. 텐서플로는 그 후 많은 발전을 거듭하면서 2019년 9월 2.0 버전이 릴리스 되었습니다. 이 책에서는 텐서플로의 2.x 이상의 최신 버전을 사용합니다. 이미 예상했겠지만 코랩에는 이미 텐서플로가 설치되어 있기 때문에 다음처럼 간단히 임포트하여 사용할 수 있습니다. 텐서플로에는 저수준 API와 고수준 API가 있습니다. 바로 케라스가 텐서플로의 고수준 API입니다. 케라스는 2015년 3월 프랑소와 숄레가 만든 딥러닝 라이브러리입니다. 딥러닝 라이브러.. 2022. 5. 28. Tensorflow2 API 모델링 텐서플로에서 딥러닝을 층을 쌓는, 즉, 모델링하는 방법은 크게 세 가지다. 1. Sequential API 2. Functional API 3. Subclassing MNIST dataset과 CIFAR-100 datase의 두 가지 데이터를 가지고 위의 세 가지 모델을 구축하는 코드를 아래와 같이 정리했다. Sequential API MNIST dataset import tensorflow as tf from tensorflow import keras import numpy as np # 데이터 구성부분 mnist = keras.datasets.mnist (x_train, y_train), (x_test, y_test) = mnist.load_data() x_train, x_test = x_train .. 2022. 5. 25. Hash 알고리즘, 해시함수 해시(hash)란 다양한 길이를 가진 데이터를 고정된 길이를 가진 데이터로 매핑(mapping)한 값 을 의미한다. 아마 직관적으로 이해가 되지 않을 것이므로, 먼저, hash table에 대해 알아보자. Hash table은 key - value system을 활용한 자료 구조의 일종으로 python에서 dictionary 자료 구조와 비슷하다. 일반적인 python의 sequence 자료구조는 인덱스를 지정해서 해당하는 원소를 호출할 수 있다. dictionary 자료구조는 key 값을 지정해서 key 값에 해당하는 원소(value)를 호출할 수 있다. 즉, 일반적인 sequence에서는 0부터 시작해서 숫자 인덱스로 원소를 호출한다면 dictionary는 숫자 이외에도 문자열, 리스트 등등 여러 가.. 2022. 5. 25. cs 221 미시간 대학 버전 오차역전법 Reference 1. 밑바닥부터 시작하는 딥러닝, 1권, 5장 2. https://www.youtube.com/watch?v=dB-u77Y5a6A&list=PL5-TkQAfAZFbzxjBHtzdVCWE0Zbhomg7r&index=6 3. https://web.eecs.umich.edu/~justincj/slides/eecs498/498_FA2019_lecture06.pdf 2022. 5. 9. 이전 1 다음 반응형