카테고리 보관물: Deep Learning

TensorFlow 1.1.0 RC0

텐서플로우 1.1.0 RC0 버전이 릴리즈 되었습니다. 이전에 예고되었던 대로 몇가지 주요한 변화가 반영되었습니다. tensorflow.contrib.learn.Estimator 가 tensorflow.estimator.Estimator로 옮겨졌습니다. 그리고 Keras 2 가 tensorflow.contrib 아래에 들어왔습니다. 앞으로는 맥 GPU 용 바이너리는 릴리즈하지 않는다고 합니다(어쩌면 맥에 Nvidia GPU가 다시 탑재될 가능성은 전혀 없다는 반증일지 모르겠습니다). Nvidia GPU가 있는 맥 사용자는 직접 빌드를 해서 설치해야 할 것 같습니다. 1.1.0 RC0은 PYPI에 등록되어 있으므로 pip 명령으로 간단하게 설치할 수 있습니다. 다만 아직 GPU 버전은 준비되어 있지 않습니다.

$ pip install --upgrade tensorflow

Momentum & Nesterov momentum

경사하강법gradient descent 최적화 알고리즘의 한 종류인 모멘텀momentum과 네스테로프 모멘텀nesterov momentum 방식은 여러 신경망 모델에서 널리 사용되고 있습니다. 비교적 이 두가지 알고리즘은 직관적이고 쉽게 이해할 수 있습니다. 이 글에서는 두 알고리즘이 실제 구현에서는 어떻게 적용되는지 살펴 보겠습니다.

모멘텀 알고리즘은 누적된 과거 그래디언트가 지향하고 있는 어떤 방향을 현재 그래디언트에 보정하려는 방식입니다. 일종의 관성 또는 가속도처럼 생각하면 편리합니다. 머신 러닝의 다른 알고리즘들이 그렇듯이 모멘텀 공식도 쓰는 이마다 표기법이 모두 다릅니다. 여기에서는 일리아 서스키버Ilya Sutskever의 페이퍼1에 있는 표기를 따르겠습니다. 모멘텀 알고리즘의 공식은 아래와 같습니다.

v_{t+1} = \mu v_t - \epsilon g(\theta_t) \\ \theta_{t+1} = \theta_t + v_{t+1}

\epsilon 은 학습속도이고 \mu 는 모멘트 효과에 대한 가중치입니다. v_{t} 는 0 으로 초기화되어 있고 반복이 될 때마다 현재의 그래디언트 - \epsilon g(\theta_t) 가 다음번 모멘트 v_{t+1} 에 누적됩니다. 그리고 다음번 반복에서 v_{t+1} 가 현재의 모멘트 v_{t} 로 사용됩니다. 경사하강법에서 모멘트 항이 추가된 것입니다.

스크린샷 2017-03-21 오후 2.53.35

계속 읽기

DiscoGAN [1703.05192]

SKT T-Brain 팀의 첫 페이퍼 “Learning to Discover Cross-Domain Relations with Generative Adversarial Networks”(DiscoGAN, 1703.05192) 공개되었습니다. DiscoGAN은 한 종류의 이미지에서 학습하여 비슷한 스타일의 다른 종류의 이미지를 생성해 줍니다. T-Brain 페이스북 페이지에서 친절하게 자세히 설명하고 있습니다. DiscoGAN은 파이토치(!)로 구현되어 있으며 깃허브에 공개되어 있습니다. 하지만 번개같은 속도로 데브시스타즈의 김태훈님이 더 깔금하게 파이토치 구현을 만들었습니다. 이외에도 두 개의 체이너 구현(1, 2)도 만들어졌습니다.

PyTorch v0.1.10 Release

파이토치 0.1.10 버전이 릴리즈 되었습니다. 이번 버전에서는 텐서의 인덱싱과 브로드캐스팅 기능이 많이 추가 되었고 가변길이variable-length RNNs, 희박 텐서sparse tensor도 추가 되었습니다. 또한 CPU 기반의 연산이 2~10배 가량 빨라져서 NumPy에 근접한 성능을 낸다고 합니다. 😀

0.1.10 버전 부터는 리눅스와 맥OS에서 콘다 명령을 사용해 pytorch, torchvision을 모두 설치할 수 있습니다. 맥OS에서 CUDA 지원을 사용하려면 소스 컴파일을 해야합니다. 아직 윈도우즈 환경은 지원하지 않고 있습니다.

conda install pytorch torchvision -c soumith

Microsoft 11th NMT language: Korean

마이크로소프트가 신경망을 이용한 기계 번역 언어에 한국어를 추가했다고 블로그를 통해 발표했습니다. 마이크소프트의 기계 번역 서비스는 브라우저에서 확인할 수 있고 모바일 어플리케이션으로도 제공하고 있습니다. 예전에 OpenNMT가 발표됐을 때 했던 간단한 번역 비교를 해 보겠습니다. 3개월전 결과와 어떤 변화가 있는지 알기 위해 동일한 영어 문장을 한글로 바꾸었습니다.

Microsoft: 결과가 아직 그다지 좋지 못하네요.

microsoft-nmt

OpenNMT: 이전 결과에서 조금 달라졌습니다. 이전의 번역이 조금 더 나은 듯도 합니다.

opennmt

Google Translate: 조금 바뀌었지만 큰 차이는 없습니다. 이번에도 mulled 를 해석하지 못했습니다.

google-translate

Naver NMT: 이전과 정확히 동일한 결과를 출력했습니다.

naver-nmt

OpenNMT와 구글 번역기는 계속 학습이 진행되고 있다는 느낌을 받을 수 있고 마이크로소프트 번역기는 아직 타사와 비교할 수 있는 수준은 안되는 것 같습니다.

Keras 2.0 Release

이전에 예고됐던 케라스 2.0이 릴리즈 되었습니다. 케라스 2.0도 많은 API 변경이 있습니다. 다행히(!) 앞으로 큰 변화는 없을 것이라고 하네요. 텐서플로우와 마찬가지로 케라스로 만든 코드도 다시 손을 봐야할 것 같습니다. 2.0 버전이 이미 PyPI에 올라가 있으므로 간단히 pip 명령으로 버전을 업그레이드 할 수 있습니다. 조금 더 자세한 내용은 케라스 2.0 릴리즈 노트를 참고하세요.

FMA: A Dataset For Music Analysis

다양한 음악 관련 연구에 사용할 수 있는 새로운 데이터셋 FMA가 공개되었습니다. 이 데이터셋은 68개의 장르에 걸쳐 77,643개의 노래에서 30초씩 샘플링한 mp3 파일입니다. 음악 데이터의 소스는 FMA(Free Music Archive)가 보유한 8만개가 넘는 음악 중에 최소한 100개 이상의 샘플을 가진 장르만을 선택했습니다. 데이터는 노래의 중간 부분 30초를  44,100Hz, 128kb/s, 스테레오로 샘플링했습니다. The Million Song Dataset 보다 노래의 개수는 적지만 전처리 되지 않은 원본 오디오 데이터라는 점을 강조하고 있습니다. 데이터를 다운 받는 방법과 사용법에 대한 깃허브를 참고하세요.

이 데이터셋은 세가지로 나뉘어져 있습니다. 77,643개의 노래를 모두 샘플링한 fma_large.zip(약 90기가)은 곧 공개될 예정이라고 합니다. 20개의 장르에서 14,511개의 노래를 샘플링한 fma_medium.zip(약 12기가) 과 10개의 장르에서 동일하게 400개씩 샘플링한 fma_small.zip(약 3기가)은 바로 다운받을 수 있습니다. 다운 받은 폴더에는 json 파일이 샘플링한 노래에 대한 아티스트, 제목, 장르, 재생횟수 등의 메타 데이터를 가지고 있습니다. 간단한 사용법을 보여주는 주피터 노트북에 메타 데이터에 대해 자세히 나와 있습니다.

머신 러닝이나 딥러닝을 위한 이미지 데이터셋으로는 ImageNet이 널리 사용되고 있는데 반해 음악쪽의 데이터는 여러 제약사항이 많아 이 데이터셋을 만들게 되었다고 합니다. 이 데이터셋의 페이퍼(1612.01840)에서 데이터에 대한 자세한 설명과 다른 음악 데이터셋들을 간단하게 요약하고 있습니다.

CS224n: NLP with DL’s Lecture Notes

스탠포드 대학의 CS224n: NLP with Deep Learning 코스(CS224d가 CS224n으로 통합되었습니다)는 강의 동영상이 공개되지 않습니다. 하지만 강의 슬라이드, 특히 강의 노트가 공개되고 있습니다. 현재 까지 총 7개의 노트가 공개되었으며 모두 합치면 대략 100여쪽이 됩니다. 강의 노트는 CS224n 스케줄 페이지에서 다운받을 수 있고 깃허브에서도 다운받을 수 있습니다. 스케줄 페이지에서는 강의 노트외에 추천 자료등 풍성한 읽을 거리(!)가 있습니다. 현재까지 강의 노트를 하나로 합친 것은 여기에서 다운받을 수 있습니다.

Big Basin: Facebook New AI Hardware

storagereview-facebook-big-basin_3

페이스북이 2015년 말에 발표한 딥러닝 서버 Big Sur의 업그레이드 버전 격인 Big Basin을 발표하였습니다. 엔비디아의 DGX-1 과 비슷하게 P100 GPU 가 8개가 들어간다고 합니다. ResNet-50으로 테스트했을 때 Big Sur 보다 처리량이 두배 늘었다고 합니다. 하드웨어 스펙에 관한 자세한 내용은 오픈 컴퓨트 프로젝트에 공개할 예정입니다. 일단 사진만 봐도 멋있네요. 엔비디아의 DGX-1 도 부럽지만 텐서플로우 도커의 버전업이 느리다는 소문이 있다는 건 함정입니다.

제 1회 대전 AI 포럼

(업데이트) 신청 페이지가 공개되었습니다만 몇 시간만에 마감되었다고 합니다 ㅜㅜ
https://goo.gl/7q1fZ0

창조경제혁신센터(인공지능 포럼)웹 포스터-01오는 3월 23일 제1회 대전 AI 포럼이 열립니다. 대전창조경제혁신센터, ㈜쎄트렉아이가 공동주최하며 인공지능 분야 연구자들의 고 퀄리티 발표가 준비될 예정입니다. 행사 참여 신청 페이지는 다음 주에 공개될 예정이며 선착순 200명입니다! (신청 페이지가 공개되면 업데이트 하겠습니다)

  • 행사 일시: 3/23 (목) 오후 4시간 진행 (오후 2시-6시), 오후 6시 이후 (행사 이후) 네트워킹 세션 (간단한 피자+음료+맥주) 1시간
  • 참석 신청: 선착순 200명
  • 행사 장소: 대전창조경제혁신센터 (대전광역시 유성구 대학로 291 KAIST 나노종합기술원 9층)

발표자

  • · 민현석(DeepBio) : 인공지능 개발 전에 고민해야 할 것 (부제 : 알파고가 되려면 알바고가 되세요!)
  • 박세진(VUNO) : 의료영상에서의 딥러닝 활용
  • 강왕구(한국항공우주연구원) : 무인이동체 분야에서 인공지능 적용 현황 및 계획
  • 이창은(한국전자통신연구원) : 인공지능 개인비서 기술 현황 소개
  • 김남주(카카오브레인) : Generative Adversarial Networks(GAN)
  • 김태영(인스페이스) : 태양에서 세포까지 적용분야와 Keras 소개
  • 김선중(호모미미쿠스) : 자연을 보는 눈의 진화(생물학적 아이디어 사례화와 탐색기술)
  • 전태균(쎄트렉아이) : 위성영상 분석기술 개발 현황 소개