2부 — 그래서 어떻게 쓰면 되지?
.
이제 TensorFlow를 이용해 직접 RNN을 사용해 보도록 하겠습니다.
.
이번 예제는 Sung Kim 교수님의 강의 예제를 이해하고 약간 변형했습니다.
.
Hello World!
HelloWorld라는 문구를 학습시켜서
.
‘H’,’e’,’l’,’l’,’o’,’W’,’o’,’r’,’l’를 입력하면 결과값으로 ‘e’,’l’,’l’,’o’,’W’,’o’,’r’,’l’,’d’를 순서대로 출력하는 것입니다.
.
( RNN.py > setting: python 3.5, tensorflow, numpy)
proauto/ML_Practice ML_Practice -Python(with Tensorflow)github.com
.
기존의 코드를 지금까지의 예제 형식으로 변형하고 한글 주석을 달아 설명했으며 Optimizer를 RMSProp Optimizer에서 Adam Optimizer로 변경했습니다. .
Sung Kim 교수님 강의에서 Adam은 현존하는 가장 성능 좋은 알고리즘으로 소개됩니다. > http://hunkim.github.io/ml/
.
이러한 학습의 결과는 아래와 같습니다.
.
대략 20번 정도의 학습이면 원하는 HelloWorld를 출력하는 것을 볼 수 있습니다.
.
이렇게 RNN을 이용해서 언어에 대한 학습을 할 수 있습니다.
.
그리고 RNN은 다양한 응용이 가능한 분야입니다.
.
세상의 수많은 데이터들이 순차적인 의미를 갖기에 확장성이 매우 큰 것인데요.
(시간에 따라 의미를 갖는 것이라면 무엇이든 시도해볼만 하죠!)
.
.
저희 Mathpresso에서도 RNN을 기반으로 1:1 학생 맞춤 교육 서비스를 제공하기 위한 머신을 제작하고 있습니다.
.
이번 스터디는 미래를 위한 초석을 쌓는 작업이기도 하였구요!
.
좋은 결과물로 교육의 새로운 방향을 제시하게 되길 바랍니다.
.
이것으로 계획한 스터디는 모두 끝이 났으나 피드백을 받아 몇가지 주제에 대해 더 다루어 보려 합니다.
.
FeedBack 내용
Unsupervised Learning 에서 Clustering 만 다루었는데
Density Estimation과 Dimension Reduction에 대해서도 공부하면 좋겠다.
2. 강화학습에 대해서도 알면 좋겠다.
3. TensorFlow를 주제로 정리 한번 하면 좋겠다.
cf) 오탈자 혹은 잘못된 개념에 대한 피드백은 항상 환영합니다.