Sunday, March 6, 2016

Deeplearning4j.org를 한국어로 번역하고 있습니다.

2-3주전부터 deeplearning4j.org를 한국어로 번역하고 있습니다.

Deeplearning4j

DL4J는 개발자들을 위해 만들어진 딥러닝 프레임워크입니다. 머신러닝/딥러닝에 대해 상대적으로 깊은 지식을 갖고 있지 않지만 현장에서 당장 사용해야할 때가 있는데, 이런 경우에 사용하기에 적합하게 설계되었습니다. 보통 연구용 딥러닝 프레임워크는 Python으로 많이 나오죠. 그렇지만 DL4J는 Java용입니다. 그리고 Spark/Hadoop에서 바로 사용할 수 있도록 나옵니다. 

번역을 하게 된 계기

페이스북의 AIKorea그룹에 DL4J의 CEO가 직접 한국어 버전이 있다고 홍보 글을 올리길래 궁금해서 들어가봤는데, 번역이 정말 너무 심하더라구요. 최악의 직역이었습니다. (공돌이 번역은 이런게 많죠. 당장 대학에서 쓰는 공대 교과서 번역본부터...)

예:
각각의 보여지는 노드는 학습될 데이터 세트의 한 항목에서 낮은 수준의 속성을 취합니다. 예를 들어, 회색 스케일 이미지의 한 데이터 세트로부터 각각의 보여지는 노드는 하나의 이미지에서 각각의 픽셀을 위한 하나의 픽셀-가치를 수신할 것 입니다. (MNIST 이미지는 784개의 픽셀을 가지므로, 그들을 처리하는 신경망은 보여지는 레이어 상에서 반드시 784개의 입력 노드를 가져야 합니다.)

너무 상태가 안좋아서 DL4J CEO인 Chris Nicholson에게 쪽지를 보냈습니다. (추후에 링크드인 프로필을 보니 이력이 대단하더군요)

   "당신 홈페이지 잘 봤다. 그런데 번역이 거지같다."
   "정말이냐? 그럴리가 없는뎅"
   "번역을 누가 했는지 몰라도 한국어로 작문을 안하던 사람인게 분명하다. 그리고 머신러닝도 전혀 모르는 사람이 한거같은데?"
   "어...머신러닝을 잘 모르는 사람이긴 하다. 근데 걔 무지무지 똑똑한앤데.."
   "똑똑하겠지. 그리고 나보다 영어도 훨씬 잘하는 사람일 것 같다. 근데 번역도, 머신러닝도 모르는 사람이 한거라...아 정말 구리다. 나한테 맡겨라"
   "어?음..그럼 한페이지 한번 해줘봐."

아마 분명 중간중간 부적절한, 공격적인 어휘 선택이 있었을 것 같습니다. 아무튼 후다닥 해서 보여줬습니다.

   "어..검토해봤더니 니 버전이 더 좋다고 하네. 알았어 얼마에 해줄래?"

해서, 열심히 번역하고 있습니다. 하다보니 생각보다 재미있고 돈도 짭짤하고 좋네요.


글 쓰는 시점을 기준으로 첫 페이지, 퀵 스타트 가이드, 회사 소개 (← 지루한 내용) 뿐만 아니라, 고유 벡터(eigenvector)컨브넷(Convolutional Neural Network)를 마쳤습니다. 고유 벡터는 굉장히 설명이 자세하게 되어있고, 컨브넷은 cs231n보다는 아쉽지만 그래도 부분부분 상세하게 내용을 설명해놓았습니다.
고유벡터를 번역하다 보니 학부생때 이런 설명을 들었다면 얼마나 좋았을까 하는 생각이 들더군요. 물론 수업도 잘 안들어가던걸 생각하면 전혀 변명이 안되지만... 여튼, 저 두 페이지는 내용이 아주 좋습니다.
조만간 LSTM, 뉴럴넷 개요, RBM, RNN, word2vec 페이지도 번역할 예정이니 기대해주세요. 이 작업을 마무리하면 cs231n 홈페이지의 튜토리알도 번역을 해볼까 생각중입니다.


2 comments:

  1. 혹시 deeplearning4j의 API좀 알 수 있을까요?

    ReplyDelete
    Replies
    1. 안녕하세요. 저는 dl4j를 사용하는데 필요한 기초적인 머신러닝/딥러닝 지식을 주로 번역했습니다. dl4j의 API는 저도 정확히 찾지를 못하겠네요. 죄송합니다!

      Delete