Tensorflow 동향조사 김영훈
Index 01 02 03 Tensorflow 목적 및 사례 머신러닝 근황 Tensorflow 소개 Tensorflow 역사 TPU 그외
1. 구글에서 오픈소스로 공개 한 기계학습 라이브러리 01 Tensorflow 소개 Tensorflow 1. 구글에서 오픈소스로 공개 한 기계학습 라이브러리 2. 데이터 플로우 그래프를 통한 풍부한 표현력 제공 Picture 3. CPU/GPU 모드로 동작 4. Python/C++ 지원 01
01 2011 2015 Tensorflow 역사 구글 브레인 팀 딥 뉴럴 네트워크 연구 Presentation Title Tensorflow 역사 구글 브레인 팀 딥 뉴럴 네트워크 연구 첫 머신러닝시스템 1세대 디스트빌리프 개발 2011 2015 2세대 머신러닝 Tensorflow 공개 02
01 02 03 04 Purpose 02 목적 및 사례 목적 Presentation Title 03 구글내 제품개발을 위해 머신러닝과 딥 뉴럴 네트워크 연구 목적 수천에서 수만 명의 테스터가 필요 및 기계학습 표준을 주도 Purpose 03 04 구글 클라우드 사업에 교두보 전세계에 흩어져 있는 머신러닝 개발자들을 구글 생태계로 끌어 들이기 위한 미끼 상품 03
02 Presentation Title 목적 및 사례 사례 04
TPU 03 머신러닝 근황 TPU TPU 구조 TPU = Tensor Processing Unit Presentation Title 머신러닝 근황 TPU TPU TPU 구조 TPU = Tensor Processing Unit 2013년 개발 시작, 2015 구글 데이터 센터에 사용 2016발표 데이터 분석 및 딥 러닝용 칩 구글 클라우드에 TPU 도입(구글 데이터센터) GPU/CPU조합 보다 15~30배 성능 높다 텐서플로우에 최적화된 반도체 칩 검색, 스트리트뷰, 내비게이션 품질 및 정밀성 개선 알파고 TPU 사용 – 알파고 vs 이세돌 05
03 NNP DNPU cuDNN 머신러닝 근황 그외 Presentation Title 06 NNP = 뉴럴 네트워크 프로세서 DNPU = Deep Neural network Processing Unit cuDNN = CUDA Deep Neural Network library 인텔과 페이스북의 협업 AI칩 너바나의 NNP 알고리즘 활용 카이스트에서 개발 휴대폰, 로봇, 드론등 AI 시스템 칩 엔비디아의 CUDA 라이브러리 멀티스레딩 지원 멀티 GPU 자원 이용 NVIDIA GPU 필적하는 성능 2017년 연말 공개예정 2020년까지 AI 성능 100배 향샹 물체인식, 행동인식, 이미지 캡셔닝 기술 구현 에너지 효율 TPU비해 최대 4배 GPU를 사용하여 학습 속도 2~3배 상승 06
Thank you Name or Logo
00 참고 참고 자료: 1. http://icon.ndsl.kr/i_trend/icon_trendDetail.jsp?record_no=5956&trendType=I 2. http://www.zdnet.co.kr/news/news_view.asp?artice_id=20151111142656 3. https://namu.wiki/w/%ED%85%90%EC%84%9C%ED%94%8C%EB%A1%9C%EC%9A%B0 4 https://ko.wikipedia.org/wiki/%ED%85%90%EC%84%9C%ED%94%8C%EB%A1%9C 5. https://spri.kr/posts/view/13146?code=column 6. https://tensorflow.blog/2017/10/ 7. http://www.yonhapnews.co.kr/bulletin/2017/08/28/0200000000AKR20170828086400017.HTML 8. https://gigglehd.com/gg/hard/1882631 9. https://tensorflow.blog/tag/tpu/ 사진 자료: 1. 텐서플로우 로고 : http://mazdah.tistory.com/738 2. 유투브 로고 : httpsplay.google.comstoreappsdetailsid=com.google.android.youtube&hl=ko 3. 구글 포토 로고 : httpsplay.google.comstoreappsdetailsid=com.google.android.apps.photos&hl=ko 4. 구글 지도 로고: httpsplay.google.comstoreappsdetailsid=com.google.android.apps.maps&hl=ko 5. 구글 번역 로고 : httpsnamu.wikiw%EA%B5%AC%EA%B8%80%20%EB%B2%88%EC%97%AD 6. NNP 사진 : https://www.extremetech.com/computing/257609-intel-announces-nervana-neural-network-processor 7. cuDNN 사진 = https://www.google.co.kr/url?sa=i&rct=j&q=&esrc=s&source=images&cd=&ved=0ahUKEwj8vOCSl4PXAhXGS7wKHc2QB8cQjRwIBw&url=htt ps%3A%2F%2Finsidehpc.com%2F2014%2F09%2Fnvidia-cudnn-speeds-deep-learning- applications%2F&psig=AOvVaw2I7y0YzGapRcN5_plxROCV&ust=1508725644137440 8. TPU 사진 = https://cloudplatform.googleblog.com/2016/05/Google-supercharges-machine-learning-tasks-with-custom-chip.html 9 .TPU 구조 사진 = http://donghyun53.net/%EA%B5%AC%EA%B8%80-tpu-%EB%93%A4%EC%97%AC%EB%B3%B4%EA%B8%B0/
Cloud 조사 박윤아
차 례 Cloud 비교 Ⅰ vision API Ⅱ vision API 남은 과제 Ⅲ
Cloud 조사 Google Cloud Plaform (GCP) Amazone Web Service (AWS) TPU 존재 GPU보다 15~30배 빠른 성능을 보임 Compute Engine에서 사용가능 Amazone Web Service (AWS) 보편적으로 많이 쓰이는 클라우드 많은 자료가 존재함 TCP상용화가 안되서 사용하지 못함
가상서버의 사용 해야하는가 GCP 사양들과 비용 내 컴퓨터 GCP AWS 사양 (무료 버전 기준) Intel i5-6200 코어 :2개 GPU :없음 1년간 가상의 300달러 지급 t2.micro 6 CPU 크래딧 vCPU :1개 메모리 : 1GB GCP 사양들과 비용
CPU 크래딧 CPU 크래딧 : t2.micro : 기본 성능을 갖되 급격한 트래픽을 처리 하는 등 필요할때 높은 성능을 발휘할 수 있게 하는 제한값 사용 하지 않을 시 축적을 하고 24시간을 기준으로 초기화 됨 1 CPU 크래딧 : 1개의 vCPU가 1분간 100%로 사용 t2.micro : 1시간마다 6 CPU 크레딧을 지속적으로 받음 CPU 코어의 10%에 해당하는 기준 성능을 제공 기본 CPU를 10시간 사용하지 않으면 t2.micro 인스턴스는 거의 1시간 전체 코어 성능을 수행 할 수 있는 충분한 크레딧을 저장가능 (10시간 x 6CPU 크레딧/시간 = 60 CPU 크레딧) 참고 자료 : http://awsdog.tistory.com/entry/EC2-T-Type-CPU-Credit-Part1
가상 서버 사용 결론 결론 : 무료버전의 클라우드들로 GPU를 사용 하기 어렵고 사양이 좋지 않은 편 가상 서버에서 머신러닝을 굳이 돌릴 필요는 없다. 개인 컴퓨터에서 모델 훈련 후 서버로 올려도 충분하다.
Tensorflow vs vision API 모델 훈련 데이터 셋을 준비 필요 가상 서버 비용 vision API : 모델 훈련 필요 없음 호환성이 좋음 가상 서버 + API 비용 https://www.youtube.com/watch?v=JDX3JIYvpHU https://azure.microsoft.com/ko-kr/pricing/details/cognitive-services/computer-vision/
남은 과제 1.어떤 가상 서버를 선택 해야 할 지 생각 2. 가상 서버로 훈련한 모델 전송 후 실제 사진 구별 가능한지 테스트 3. 프로젝트의 방향에 대해서 생각
감사합니다.
ROI & YOLO Deep Learning 김수현
01 04 02 05 03 06 ROI YOLO Deep Learning 소개 소개 설정 방법 원리 실행 결과 실행 환경 목차
Region Of Interest 관심 영역 특정 영역을 검사하거나 추출, 배제하는 경우 사용한다 ROI 01 소개 Region Of Interest 관심 영역 CSR(Corporate Social Responsibility)이란 기업의 사회공헌이라는 뜻으로 기업이 경제적 책임이나 법적 책임 외에도 폭넓은 사회적 책임을 적극 수행해야 한다는 것을 말한다. 특정 영역을 검사하거나 추출, 배제하는 경우 사용한다 전체 영상에서 실제 영상 처리 영역을 줄여 처리 속도 등의 향상을 기대할 수 있다.
ROI 02 설정 방법 R ect_ CSR(Corporate Social Responsibility)이란 기업의 사회공헌이라는 뜻으로 기업이 경제적 책임이나 법적 책임 외에도 폭넓은 사회적 책임을 적극 수행해야 한다는 것을 말한다.
Rect rectangle(x, y, width, height); ROI 02 설정 방법 Rect_ - 사각형을 정의하는 클래스 - typedef로 정수형에 대한 Rect 자료형이 정의 되어 있다. - =, +, -, *, ==, !- 등의 연산자를 사용할 수 있다. - 멤버 변수 : x, y, width, height Rect rectangle(x, y, width, height); CSR(Corporate Social Responsibility)이란 기업의 사회공헌이라는 뜻으로 기업이 경제적 책임이나 법적 책임 외에도 폭넓은 사회적 책임을 적극 수행해야 한다는 것을 말한다.
ROI 02 설정 방법 i nRange CSR(Corporate Social Responsibility)이란 기업의 사회공헌이라는 뜻으로 기업이 경제적 책임이나 법적 책임 외에도 폭넓은 사회적 책임을 적극 수행해야 한다는 것을 말한다.
//이미지, 최소 HSV, 최대 HSV, 출력 영상(이진화된 영상) ROI 02 설정 방법 inRange() 이미지에 있는 색상 중 지정한 범위 안의 색상에 대한 마스크를 만든뒤, 저장해서 돌려 준다. 영상을 이진화 한다. – 지정한 색상 범위 안에 들어가면 0, 그 외에는 1 //이미지, 최소 HSV, 최대 HSV, 출력 영상(이진화된 영상) inRange(img_hsv, Scalar(LowH, LowS, LowV), Scalar(HighH, HighS, HighV), img_binary); CSR(Corporate Social Responsibility)이란 기업의 사회공헌이라는 뜻으로 기업이 경제적 책임이나 법적 책임 외에도 폭넓은 사회적 책임을 적극 수행해야 한다는 것을 말한다.
Rect_ 03 실행 결과(소스 코드) 헤더 파일 메인 함수 ROI 03 실행 결과(소스 코드) Rect_ -그랩컷 알고리즘(cv::grabCut)- 헤더 파일 메인 함수 CSR(Corporate Social Responsibility)이란 기업의 사회공헌이라는 뜻으로 기업이 경제적 책임이나 법적 책임 외에도 폭넓은 사회적 책임을 적극 수행해야 한다는 것을 말한다. //좌표가 (200,0) 인 지점에서 w=180, h=image h 인 사각형 정의
Rect_ 03 실행 결과(결과 화면) ROI -그랩컷 알고리즘(cv::grabCut)- CSR(Corporate Social Responsibility)이란 기업의 사회공헌이라는 뜻으로 기업이 경제적 책임이나 법적 책임 외에도 폭넓은 사회적 책임을 적극 수행해야 한다는 것을 말한다.
inRange() 03 실행 결과(소스 코드) 헤더 파일 메인 함수 – 웹캡 영상 캡처&출력 ROI -특정 색상(빨간색) 물체 검출- 헤더 파일 메인 함수 – 웹캡 영상 캡처&출력 CSR(Corporate Social Responsibility)이란 기업의 사회공헌이라는 뜻으로 기업이 경제적 책임이나 법적 책임 외에도 폭넓은 사회적 책임을 적극 수행해야 한다는 것을 말한다.
inRange() 03 실행 결과(소스 코드) 메인 함수 – 색상 범위 지정(빨간색) ROI 03 실행 결과(소스 코드) inRange() -특정 색상(빨간색) 물체 검출- 메인 함수 – 색상 범위 지정(빨간색) 메인 함수 – 영상 이진화&노이즈 제거&라벨링 메인 함수 – RGB HSV 변환 CSR(Corporate Social Responsibility)이란 기업의 사회공헌이라는 뜻으로 기업이 경제적 책임이나 법적 책임 외에도 폭넓은 사회적 책임을 적극 수행해야 한다는 것을 말한다.
inRange() 03 실행 결과(소스 코드) 메인 함수 – 영역박스 그리기 메인 함수 – 영상 출력 및 종료 기능 추가 ROI 03 실행 결과(소스 코드) inRange() -특정 색상(빨간색) 물체 검출- 메인 함수 – 영역박스 그리기 메인 함수 – 영상 출력 및 종료 기능 추가 CSR(Corporate Social Responsibility)이란 기업의 사회공헌이라는 뜻으로 기업이 경제적 책임이나 법적 책임 외에도 폭넓은 사회적 책임을 적극 수행해야 한다는 것을 말한다.
inRange() 03 실행 결과(결과 화면) [이진화 된 영상] [이진화 된 영상] ROI -특정 색상(빨간색) 물체 검출- CSR(Corporate Social Responsibility)이란 기업의 사회공헌이라는 뜻으로 기업이 경제적 책임이나 법적 책임 외에도 폭넓은 사회적 책임을 적극 수행해야 한다는 것을 말한다. [이진화 된 영상] [이진화 된 영상]
You Only Look Once = 너는 오직 한번만 본다 YOLO Deep Learning 04 소개 You Only Look Once = 너는 오직 한번만 본다 ≒ 한번 보면 안다! 실시간 객체 탐지 알고리즘 장점) 매우 빠르고 가볍다.- 초당 45프레임 성능면에서도 뒤처지지 않는다. 한계) R-CNN에 비해 성능이 떨어진다. (R-CNN: 1,000개 이상의 후보 제안, YOLO: 7*7*2=98개의 후보 제안)
YOLO Deep Learning 05 원리
Darknet : C와 CUDA로 짜여진 오픈소스 *neural network framework OpenCV CUDA YOLO Deep Learning 06 실행 환경 Darknet : C와 CUDA로 짜여진 오픈소스 *neural network framework OpenCV CUDA ※ OpenCV와 CUDA 없어도 실행은 가능하지만, YOLO Darknet에서 사용할 수 있는 기능에 대한 제약이 많아지게 된다. ※ YOLO를 실행하기 위해서는 추가적으로 config file과 미리 트레이닝 된 weight file이 필요하다. - confing file : darknet/cfg 디렉토리에 존재 - weight file : 다운로드 (https://pjreddie.com/darknet/yolo/ ) neural network란? 인간의 뇌의 기능을 적극적으로 모방하려는 생각에 기초를 두고 있다. 인간에게는 아주 간단하고 당연한 사고방식을 컴퓨터에 학습시키려는 것이다.
T hank you