안녕하세요
저는 서울에 사는 노성훈 입니다.
Tensorflow를 사용하게 되서 사용해 본 내용을 정리 해 보았습니다.
아직 공부해 나가는 과정이어서 잘 모르지만 도움이 되시면 좋겠습니다.
제가 잘 모르거다 틀린 부분이 있으면 추가해서 알려주시면 감사하겠습니다.
강좌는 5개로 구성할 예정입니다.
1. Tensorflow 소개
가. Tensorflow란
나. 할 수 있는 일
다. 장점
2. 설치
3. 데이터 준비하기
4. MNIST For ML Beginners
5. Deep MNIST for Experts
가. Tensorflow 란?
Tensorflow를 소개하자면 (https://www.tensorflow.org/)
Google에서 머신러닝을 위해 개발한 툴로 Open source이고
Apatch 2.0 License를 따릅니다.
Tensorflow는 머신러닝을 위한 Python Package 라고 생각합니다.
설치하면 Python에서 Tensorflow 변수 (Tensor라고 합니다.)
를 생성할 수 있고 머신러닝을 위한 함수들을 사용 할 수 있게 됩니다.
나. 할 수 있는 일
크게 두가지로
1. 값을 입력하여 결과값을 예측하는 것 (지도학습)
2. 값을 입력하여 이 값을 분류하는 것 입니다. (비지도학습)
첫번째 활용 예로는
날씨, 요일, 온도, 휴일여부,등을 입력하여 자전거 대여 숫자를 예상
수입, 주택보유 여부, 연체 여부 등을 판단하여 대출 적합성을 판단
두번째 활용 예로는
시장에서 소비자군을 분류할 때 목표를 주지 않고 컴퓨터에게 알아서 분류하게 하는 것
알파벳을 무엇인지 알려주지 않고 알아서 분류하도록 함
입니다.
사실 마케팅이나 은행에서 수도없이 사용했고
사용하고있는 통계적 분석과 별 다를 것이 없으나
제가 잠깐 사용해 보고 느낀 점은 인간은 차원이 4차원 이상이 되면
인식하기가 어렵지만 기계학습으로는 컴퓨팅 파워가 지원하는한 무한한 차원을
다룰 수 있다는데 매력을 느꼈습니다.
쉽게 설명하면 데이터만 많이 있다면 그 속에서 이전에 찾지 못했던 규칙을 찾을 수 있고
이 것을 이용해서 문제를 해결할 수 있다는 것 입니다.
구글에서도 자사의 머신러닝 알고리즘으로 여력을 집중하여
알파고를 만든 Google Deepmind도 원래는 Torch를 사용했으나 현재는 Tensorflow로 이동하였습니다.
다. 장점
이러한 툴은 Tensorflow 외에도 많이 있으나
제가 생각하는 Tensorflow의 장점은
1. GPU연산이 가능하다
2. google에서 계속 발전 시켜 나갈 것이다
3. 향후 Google의 TPU를 사용 가능 할 것이다
입니다.
TPU (Tensor Process Unit)는 Google에서 기계학습을 위해 만든 칩으로
이미 구글에서는 GPU가 아닌 이 칩을 사용해서 머신러닝을 하고 있는 것입니다.
현재는 Tensorflow가 Open Source 툴로 공개 되어 있지만
Google cloud 에서 Machine learning을 준비 중에 있습니다.
현재는 Alpha 단계로 API가 일반에 공개되어 있지 않지만
공개하게 되면 google의 TPU를 사용할 수 있을 것으로 기대합니다.
당연히 사용법은 Tensorflow를 사용하는 것이 되겠지요
물론 데이터가 Cloud에 저장되야한다는 단점이 있지만
서비스를 하는 입장에서는 저렴한 가격으로
강력한 컴퓨팅 파워를 이용할 수 있다는 점에서
좋은 기회가 될 수 있다고 생각합니다.
아직 느낌이 안 오신다면 한번 실행 해 보시는게 가장 좋은 방법인것 같습니다.
다음 강좌를 따라 해 주세요 : )
°¨»çÇÕ´Ï´Ù ^^
(Á¦°¡ µå¸±¼ö Àִ°Ç.... ^^ )
¿µ±¤ÀÔ´Ï´Ù.
°¨»çÇÕ´Ï´Ù.
ÀоîÁÖ½Ã´Ï ±â»Þ´Ï´Ù.
°¨»çÇÕ´Ï´Ù.
¿äÁò »ó´çÈ÷ °ü½ÉÀÌ ¸¹¾Ò´Âµ¥¿ä
°¨»çÇÕ´Ï´Ù^^
±×³É óÀ½Á¢¼Ó½Ã ¾Ë¾Æ¼ ¿øÇÏ´Â °÷À¸·Î °í°í¾Å~