tensorflow로 딥러닝 교육

in #kr6 years ago

안녕하세요. @u robotics입니다.
오늘부터 금요일까지 tensorflow 강의를 듣습니다.

그냥 한 번 들어보지 라는 생각으로 넣었는데요.
시험도 무려 20분만에 아는 것만 대략 때려넣었는데 붙었습니다.

그래서 오늘 교육을 갔는데
ㅇ_ㅇ 생각보다 사람들이 너무 똑똑해보여서 놀랐습니다.

아는 분이랑 인사하는데
그 분이 오늘은 다 에이스들만 왔네.
무슨 교육이야? 하고 물어보셔서 놀랬습니다.

다들 그런거 느끼는 거 같아요. ㅎㅎㅎㅎ

tensorflow는 구글에서 개방한 기계학습 오픈소스 프로그램인데요.
일반인?? 도 사용하기 쉽습니다. ㅎㅎㅎㅎ (멘트 출처. 나무위키)
https://www.tensorflow.org/

CNN, RNN 이란 말을 많이 들어서 궁금해서 검색해봤어요.

CNN. 1989년 인간의 시신경 구조를 모방해 만들어진 인공신경망 알고리즘. 다수의 Convolutional Layer(이떄의 작은 행렬을 필터라 부른다)으로 부터 특징맵(Feature map)을 추출하고 서브샘플링(Subsampling)을 통해 차원을 축소하여 이미지를 단순화 시킨 후 마지막 레이어에 완전 연결 계층 (Fully connected Layer)으로 이전 레이어의 처리결과를 연결하여 이미지를 분류한다. 이미지 분류에 유용하며, 이미지 외에도 사용할 수 있다.

CNN은 결국 사람 '눈' 이네요. 이미지 분류를 주로 하는 모양입니다. 이미지 분류는 개와 고양이를 구분하는 것이 가장 유명한 사례죠.

RNN. 뉴런의 출력이 다시 입력으로 feedback되는 재귀적인 연결 구조를 갖는 신경망. 다층 퍼셉트론 신경망은 입력이 출력 방향으로만 활성화되고 은닉 뉴런이 과거의 정보를 기억하지 못한다는 단점이 있다. 이러면 입력이 들어온 문맥을 기억할 수 없다. 이런 단점은 시계열분석[6] 관련 문제에서 매우 해롭다. RNN은 이런 단점을 해결했다.

앞에서 무슨 단어가 나왔는지의 문맥이 다음에 나올 단어를 예측(prediction)하는 문제를 푸는 데 유용하다. 이런 문제에는 음성 인식, 필기체 인식, 텍스처 인식이 있다. 또 분류에도 유용하다. 언어 모델은 말뭉치를 이용한 기계 번역에 도움이 되었다.

기존의 DNN(Deep Neural Networks)의 경우 각 layer마다 parameter들이 독립적이었으나, RNN은 이를 공유하고 있다. 따라서 현재의 출력 결과는 이전 time step의 결과에 영향을 받으며, hidden layer는 일종의 메모리 역할을 하게 된다.

RNN의 기본적 작동원리는 ht = g1 ( xtU + Wht-1 + bx), ot = g2 (Vht+bh) 이다.
g1 g2 : 비선형 활성화 함수 (Sigmoid, tanh 등)
xt: 입력값
ht: t(시간)단계의 은닉변수 (hidden state)
ot: t(시간)단계의 출력값
b: 편향 (bias)
UVW: xt ht ht-1의 가중치 (weight)
위 식에서 입력 X = (x1 , x2 , x3 , ... , xn)이 입력되면 ot가 출력된다.

변종으로 Bi-directional RNN이 있다. 이 모델은 과거 및 미래 상태도 반영한다. 언어 모델링을 할 때 앞뒤 단어를 모두 고려하게 되므로 정확성이 높아진다. 하지만 학습이 오랫동안 진행지면서 초기 학습이 잊혀질 단점이 있다.

하지만 전통적인 RNN 모형 및 Bi-directional RNN의 경우 Vanishing gradient problem을 지닌다

RNN은 재귀. 결과를 다시 입력하기 때문에, 문맥파악에 용이함. 음성, 필기체, 문자 인식.

생각보다 쉬운 거였네요. ㅎㅎ ㅇ_ㅇ
CNN은 이미지처리.
RNN은 음성, 필기, 문자 처리 였습니다.

텐서플로우 설치
오늘 수업에서 들었던 걸
대략 기억해서 써보겠습니다.

  1. python 설치(3.66 버전 설치)

  2. tensorflow 설치
    (CPU 버전이 설치가 쉬움, GPU는 추가 설정이 필요. 주로 CPU로 많이 씀.)

  3. command 창에서 pip 명령어 입력
    pip(python 기본 설치도구)
    python -m pip install -U pip

pip3(python3 기본 설치도구)
pip3 install --upgrade tensorflow

이 부분이 잘 안 맞으면
무한 에러가 발생하고 설치도 잘 안 돼요.
이 부분이 엄청 중요합니다.

독학하면서 혼자서 깔면
python 하고 tensorflow 하고 버전 안 맞아서
피똥 싸는 경우가 많죠.

  1. pycharm 설치(편하게 쓰기위함. 안 깔아도 됨.)

여기까지 였던 것 같아요.

내일 한 번 다시 설치해보고
글 수정하겠습니다. ^^ 하핳핳하

tensorflow로 생각보다 재밌는 것들을
많이 만들 수 있을 것 같아요. ㅎㅎㅎㅎ

여러분들도 한 번 해보시면 좋을 것 같습니다.

tensorflow 는 현재 python 언어를 지원하고 있어요.
https://www.tensorflow.org/

그런데 js, 즉 javascript 언어도 지원하고 있습니다.
https://js.tensorflow.org/
웹 개발하시는 분들을 위한 옵션인듯 해요.

최근에 재밌는 걸좀 배웠는데
시간될 때 썰 한 번 풀어보도록 하겠습니다.
urobotics .jpg

감사합니다.

Sort:  

여전히 열심히 하시는 군요! ㅋ 잘보고 있습니다.~

감사합니다. ㅎㅎㅎ 아이콘 바뀌신 모냥이네요. 헐. 전엔 뭔가 반항기 아이콘이었는데. 지금은 제도권 사람 같은 느낌이.

반항기라니요!! ㅋㅋ 나츠메 우인장이라는 에니메이션에 나오는 주인공아이콘이였습니다.(덕력이...ㅋ) 저희 https://kr.tripsteem.com/ 이라는 사이트를 만들었습니다. 현재 베타인데 한번 이용 부탁드릴게요~~

아 글쿤요 ㅋㅋ 요새 놀러 안 가서 글은 못 올리겠지만, 사용해볼게요 ㅎ

어렵네요 의료와 어학 쪽에 딥러닝 나날이 바뀌는걸 체감합니다.

쫌 쉽게 쓰면 되는데. 걍 복잡한 내용을 그대로 옮겨놔서 ㅋㅋ 하기는 그동네가 좀 그런듯 ㅎㅎㅎ

텐서플로우 연재가 너무 기대됩니다. @urobotics님 강좌를 보면서 열심히 배울께요.

헐. 안 피곤님 의외의 ^^ 반응이네요. ㅎㅎㅎ 뭔가 도움이 되는 내용이군요. 열심히 써보겠습니다. ㅎㅎㅎ

저도 최근에 머신러닝에 관심이 생겨서 열심히 공부 중입니다.
스팀잇에서 유로보틱스님의 텐서플로우 글을 보니 너무 반가웠습니다.
앞으로 텐서플로우 딥러닝 강좌 정기구독하겠습니다.

조금 밖에 모릅니다만, 그래도 부지런히 재밌게 써보겠습니다. ㅎㅎㅎ 반가워해주시니 글 쓰는 게 정말 즐겁네요. 감사합니다. ㅎㅎㅎ

고 2때 김성님 강좌보면서 학습했는데 그때 쓸만한 자료가 그 것 밖에 없어서 힘들었죠. 그래도 요즘은 사람들이 많이 해서 기술공개도 많이되서 좋네요

아하. 하기는 좀 그래요. ^^ 요새는 꽤 공개가 되어서 재밌는 걸 만들 수 있을 것 같습니다. ㅎㅎㅎ

영상처리에서 이미지나 글자 분석 인식 처리가 참 힘들어서 전 랜더링쪽으로 공부했어요.
그나마 공간의 3D 좌표계를 두고 처리하면되기때문에 volume ray casting rendering이 좀 쉬운 편이였죠.

오오 그렇군요. ㅇㅇ;; 저는 너무 얕게 공부해서 사실 뭐가 왜 어려운지도 몰라요. ㅋㅋㅋㅋ걍 무식하게 진격이져 ㅋㅋㅋㅋ. 공간이 더 어려울 것 같은데요. ㅇㅇ? 음. 역시 안 해봐서 모르는걸까요.

Coin Marketplace

STEEM 0.28
TRX 0.12
JST 0.032
BTC 62184.89
ETH 2995.49
USDT 1.00
SBD 3.97