PGR21.com
- 자유 주제로 사용할 수 있는 게시판입니다.
- 토론 게시판의 용도를 겸합니다.
Date 2014/10/22 14:20:16
Name 랜덤여신
Subject [일반] 이것이 개발자 유머다! 플리커 편
지난 10월 20일, 플리커 개발자 블로그에 다음과 같은 글이 올라왔습니다. http://code.flickr.net/2014/10/20/introducing-flickr-park-or-bird/

---- [번역 시작] ----

우리 플리커 직원들은 도전을 받으면 물러서지 않습니다. 특히 그 도전이 웹툰 형태로 왔을 때 그러합니다. 그리고 특히웹툰이 'xkcd'였을 때 그러합니다. (역주: xkcd는 개발자 세계에서 가장 유명한 웹툰 중 하나입니다.) 그래서, 이 xkcd 만화를 봤을 때 우리는 이렇게 생각했습니다: "저건 해야 한다"



    남자: 사용자가 사진을 찍으면, 그 앱이 국립 공원에 있는지 여부를 알려줘야 해.
    여자: 물론이지. 간단한 지리 정보만 찾아 보면 돼. 몇 시간만 기다려.
    남자: ...그리고 사진이 새인지 여부도 알려줘야 해.
    여자: 연구팀과 5년이 필요해.

    "컴퓨터 과학 분야에서, '쉬운 것'과 '사실상 불가능한 것'의 차이를 설명하기란 어려울 수 있습니다."

사실, 플리커는 이미 이런 일을 하기에 적절한 기술을 가지고 있습니다. 사진 속 여자가 말한 것처럼, 어떤 사진에 GPS 정보가 저장되어 있으면 그게 국립 공원에서 찍힌 건지 아닌지 판단하는 건 간단합니다. 그리고 플리커 영상팀의 지난 1년간 연구 결과로, 신경망을 이용하여 사진에 찍힌 1000종류 이상의 물체를 식별할 수 있게 되었습니다. 그런데, 우리가 매우 잘 하는 것 중 하나는 새를 식별하는 것입니다!

이런 기술들을 합쳐서 탄생한 것이 이겁니다: http://parkorbird.flickr.com/

---- [번역 끝] ----

보시면 알겠지만, 말 그대로 사진을 올리면 (미국의) 국립 공원에서 찍혔는지, 아니면 새인지 판단해 주는 사이트입니다. 예제 사진을 드래그하거나, 컴퓨터에서 사진 파일을 끌어다 놓으면 됩니다.



놀랍게도 새 말고 구름도 구분하고, 제 컴퓨터에 저장되어 있던 호랑이 사진을 올리니까 '고양이'라고 판단하는 비범함까지 보이네요.

이런 게 바로 개발자 유우머입니다. 특히 이번 유우머는 플리커의 기술을 자랑하는 역할도 하기에, 더욱 보기 좋은 사례라고 할 수 있습니다.

결론: 만화로 어그로를 끌면 누군가 프로그래밍을 해줍니다. 개이득

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
당근매니아
14/10/22 14:23
수정 아이콘
개똥지빠귀 까치 직박구리 황조롱이 화질구지.....
azurespace
14/10/22 14:24
수정 아이콘
구글은 유튜브 영상을 올리면 이게 고양이 영상인지 아닌지를 판별하는 신경망을 unsupervised learning으로 만들었죠(...)

확실히 요즘 인지컴퓨팅과 멀티레이어 퍼셉트론이 대세 중 하나 같습니다.
랜덤여신
14/10/22 14:25
수정 아이콘
저는 supervised 과제 짜면서도 무척 신기하던데 unsupervised는 대체...
피들스틱
14/10/22 15:10
수정 아이콘
요즘 핫한 Deep learning 이죠.
레지엔
14/10/22 14:30
수정 아이콘
관련된(좀 파생 분야 내지는 유사 분야에 가깝긴 한데) 연구가 의학쪽에서도 있습니다. 영상 검사 자동 판독기라고... 실제로 상품화된 놈도 있더군요. 근데 써본 사람 말로는 역시 전문적 수준으로 써먹으려면 한 100년은 걸릴 거 같다고(..)
azurespace
14/10/22 14:37
수정 아이콘
생체물리학쪽 교재를 보니까 Hebbian Learning을 통해 만들어진 신경망이 CT 촬영된 필름에서 유방암으로 추정되는 종양이 악성인지 아닌지를 판별하는데 사용할 수 있는 마커를 9개 찾아냈는데, 그 중 2개는 기존에 의사들이 알지 못했던 것이었다고 하더군요. (교재에 실릴 정도니 꽤 오래 전 일일 듯합니다) 이미 알게 모르게 사용되고 있을 것 같습니다.
레지엔
14/10/22 14:59
수정 아이콘
음 이게 뭐였더라... 90년대에 리뷰로 나온 논문을 봤던 기억이 납니다. 좀 유별나게 유방쪽이 잘 나오기도 했고 결과적으로 이 연구들의 총합이 현재의 심플 맘모그램에 영향을 주긴 했는데, 사실 임상적 가치(두고 볼 거냐 처치를 바로 들어갈거냐를 결정하는 요소)에 대해서는 좀 저평가되는 부분이 있습니다. 제가 찾아봤던 것들은 주로 ANN으로 후행적 연구한 것들인데 학문적으로는 재밌는데 임상적으로는 좀 애매한 부분도 많고, 특히 아직까지 총체적 판독이라는게 직관성의 영역에 머물고 있는데 이걸 깰만한 패러다임을 제시하긴 현 시점에서는 어렵지 않나 싶더군요.
azurespace
14/10/22 15:35
수정 아이콘
ANN은 뉴런 숫자가 많을수록 할 수 있는 것과 기대 정확도가 매우 높아질 수 있죠. 요즘 떠오르는 Deep learning이 의학 쪽에도 적용되면 상당히 큰 변화가 일어날 것 같습니다 사실 위 연구도 그렇고 아직 의학 쪽에서 ANN으로 뭔가 해보겠다는 시도들은 지금 나오는 네트워크들 기준으로는 거의 장난감 수준 스케일이었거든요...
Neandertal
14/10/22 14:58
수정 아이콘
작년에 아버지께서 맹장수술을 받으셨는데 내과 의사가 CT촬영한 거 보더니 "맹장염"을 잡아내는 걸 보고..."오오~역시 의사면허는 가위바위보 해서 따는 게 아니였군..."했던 기억이 되살아 나는 글이네요...
그때 그 내과의사 선생님과 수술을 담당해주신 외과 선생님께 이 자리를 빌려 다시 한 번 감사의 말씀을 드립니다...^^
레지엔
14/10/22 15:00
수정 아이콘
제.. 제가 아니라서(..)

근데 맹장염은 CT에서 잘 보일땐 무지 잘 보이고 안 보일때는 그냥 깜깜이라서 아버님이 운이 좀 좋으셨던 부분도 있습니다.
불량공돌이
14/10/22 14:32
수정 아이콘
저도 신경망 참 좋아하는데요, 제가 한번 먹어보겠.. 이 아니라
저도 대세를 따르고자 어떠한 기계 시스템의 고장유무를 판별하는 알고리즘에 신경망을 기초로한 자기조직화지도(SOM) 기법을 살포시 끼얹어보고 있습니다.
14/10/22 14:39
수정 아이콘
저런쪽이 생각보다 굉장히 빨리 발전하고 있습니다.
흥미진진해요.
azurespace
14/10/22 14:47
수정 아이콘
개인적으로 우리나라에서 신경망을 실제로 이용하고 있는 활용사례 중에선 투자 자문회사인 옵투스가 신박해 보이더군요.

서울대학교 문병로 교수님 연구실에서 만든 벤처회사인데, 멀티레이어 퍼셉트론을 통해 각 주식의 시계열 데이터를 바탕으로 미래의 변화를 예측하는데, 이게 흔히 사용하는 conjugated backpropagation 같은 게 아니고, backpropagation과 GA를 결합한 미미틱 유전 알고리즘을 사용합니다. 이때 MLP는 보통 뉴런이 아니고 recursive connection을 지니는 elman neuron을 사용합니다. 그런데 멀티레이어 퍼셉트론의 구조가 일정하게 고정놓고 보면 은닉층의 뉴런들은 서로 순서가 바뀌어도 결과값에 영향을 주지 않기 때문에 하나의 penotype에 대해서 N_hidden!개의 genotype이 존재하게 되는데, 이 때문에 발생하는 Crossover 연산의 교란을 막기 위해 Normalization을 실시하는데, 이 과정에서 또 다시 SOM을 사용합니다(!). 거기에 유전 알고리즘 특성상 동등한 수준의 정확도를 지니는 서로 다른 신경망이 다수 생성되게 되는데, 이를 통해서 현재 상황과 가장 비슷한 과거의 데이터 벡터를 찾아내어 이 벡터들에 대해 가장 예측 정확도가 뛰어났던 신경망들을 선택하여 앙상블을 구성합니다. 이렇게 하여 구성된 앙상블은 단일 신경망을 사용했을 때에 비해서 Generalization error를 크게 줄이며 예측 정확도도 높아지게 되죠. 이렇게 각 주식 종목이 오를 확률과 내릴 확률을 계산한 다음 단계는 이들을 조합해서 가장 수익성이 높으면서도 위험도가 낮은 포트폴리오를 구성하게 되는데, 이 과정은 논문으로 공개되어 있지 않지만 아마 제 예상에는 신경망을 구성할 때와 비슷한 방법으로 multi-objective GA를 사용할 겁니다. 파레토 최적해들 중에서 고객이 원하는 것을 선택하게 되겠죠. 헥헥헥...
ComeAgain
14/10/22 15:17
수정 아이콘
뭐라구요??
14/10/22 15:17
수정 아이콘
음...그렇군요 (끄덕 끄덕).....
14/10/22 15:44
수정 아이콘
정말 신박하군요....
코카스
14/10/22 16:42
수정 아이콘
GA를 공부한지도 한 5년쯤 됐는데 아직도 GA가 적당히 가이드해나가는 랜덤과 근본적으로 무엇이 다른것인가 하는 의문이 들 때가 많이 있습니다.
광역도발기를 펼쳤으니 이제 어그로가 몰리겠네요. 전 이만 도망을 (__ )
azurespace
14/10/22 16:46
수정 아이콘
랜덤을 '적당히 가이드하는' 것이 쉬운 일이 아니죠. GA, SA, ACO 등의 stocahstic 알고리즘들은 모든 문제에 적용할 수 있는 일반적인 방법을 제시해놓고 실제로 적용해봤더니 유용함이 입증된 것들이며, 그러한 과정이 어떻게 좋은 답을 찾아내는 것인가가 이론적으로 설명이 가능한 방법들입니다.

사용가능한 시간이 무제한이라면 그냥 무작위로 해를 무한정 생성하면서 좋은 해를 찾아도 됩니다. 하지만 현실은 그렇지 않고, 이 알고리즘들을 실제 문제에 적용하여 단시간에 뛰어난 성능을 얻어내는 것은 거의 엔지니어링의 영역이고 거의 100% 구현자의 노하우에 달려 있습니다.


GA가 그냥 랜덤 알고리즘과 다른 점이 있는지를 확인하고자 한다면 같은 시간 동안 같은 문제에 대해서 두 알고리즘을 실행시켜 보고, 해의 품질에 차이가 있는지, 그리고 그러한 경향이 일관적으로 나타나는지를 반복 시행으로 확인하면 되겠죠. 제가 알기로 위에 예를 든 문병로 교수님 연구실은 수백만개의 정점을 가진 그래프 내에서 TSP의 최적해(로 알려진 해)를 찾아내는 것으로 아는데, 일반적인 랜덤 서치로는 N=50정도만 되어도 며칠 내에 최적해 찾기 쉽지 않을 겁니다.

근데 근본적으로는 하신 말씀이 맞기는 합니다. 어떻게 유도할 것이냐의 문제이지 기본적으로는 난수에 탐색을 맡기는 거죠
시즈플레어
14/10/22 17:19
수정 아이콘
그러니까 랜덤이 아닌 모든 경우의 수를 계산하는 DNA 컴퓨팅을 사용하면 됩니다!
코카스
14/10/22 17:20
수정 아이콘
그래서 지금 Non-deterministic Turing Machine 을 개발하여 TSP 정도는 정수 타임에 계산하고 있습니다.
세계 혼란을 위해 자세한 정보는 공개할 수 없는 점 양해바랍니다.
SugarRay
14/10/22 17:56
수정 아이콘
자료구조 들을 때 저 교수님이 알고리듬 개발해서 돈 많이 벌고 지금도 많이 굴린대라는 말만 들었는데 알고리듬 설명을 들어도 여전히 모르겠네요 음 크크크
밤의멜로디
14/10/22 15:07
수정 아이콘
학회를 가니 확실히 Deep learning이 대세라는걸 느낄 수 있는게 Deep learning 주제에만 사람들이 문 밖에 서서 들을 정도로 엄청 몰리더군요.
위의 분들이 여러 적용분야를 말씀해주셨는데 저는 자연어처리쪽에 적용한것도 상당히 재밌어보이더라고요
피들스틱
14/10/22 15:22
수정 아이콘
공원을 판별하는건 GPS 정보같은 메타데이터를 가지고 하는군요
뭐 웹툰에 그렇게 나와있었으니
시즈플레어
14/10/22 17:20
수정 아이콘
자 만능 퍼지 나와주세요.
14/10/22 17:24
수정 아이콘
분명히 내가 하는 건데 왜 모르겠지..
iAndroid
14/10/22 18:32
수정 아이콘
(GPS 시스템이 갖춰져 있지 않을 경우)
남자: 사용자가 사진을 찍으면, 그 앱이 국립 공원에 있는지 여부를 알려줘야 해.
여자: 연구팀과 20년이 필요해.

이렇게 될 수도 있는 거죠.
우리가 지금 '쉬운 것' 이라고 생각할 수 있는게, 옛날에는 '사실상 불가능한 것' 까진 아니지만 그에 가까운 난이도를 가진 시절도 있었습니다.
김연우
14/10/22 18:40
수정 아이콘
사실 Deep Learning은 제일 중요한게 백데이터가 얼마나 많느냐인데, 그게 많아야 일단 트레이닝 할게 많아 좋은 결과물이 튀어나오고, 알고리즘 검증하기도 좋아지니까요.
그런면에서 한국에서는 참 어려운 일이라고 봅니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회 추천
57175 [일반] 레진코믹스 유해 사이트 지정 및 차단 (수정) -현재 차단 해제 [55] 곰주6796 15/03/26 6796 0
56618 [일반] 금호타이어 곡성현장 노동자 분신자살 [45] 바위처럼7480 15/02/17 7480 28
56538 [일반] 웹툰 추천- 데미지 오버 타임 [17] 블랙탄_진도6123 15/02/13 6123 1
56403 [일반] 웹툰 소개 - 삼풍 [23] 이걸어쩌면좋아6583 15/02/06 6583 2
56309 [일반] [웹툰 리뷰] 파인(巴人) - 윤태호에게서 봉준호를 읽다 (스포있음) [7] Eternity8832 15/02/02 8832 2
56291 [일반] 웹툰 소개: 파인 [23] gamekid7075 15/01/31 7075 2
56250 [일반] [웹툰 추천] 무류, 판타지 로맨스 <십이야> [7] HBKiD7063 15/01/29 7063 1
56176 [일반] 술도녀 소개 맛집 정리 (1~50화) [24] 人在江湖13731 15/01/25 13731 12
56036 [일반] pgr21 은 단점이 너무도 많습니다. [102] 호리11498 15/01/19 11498 13
55953 [일반] 대화를 좀 나눴으면 좋겠다. [13] 성동구5645 15/01/14 5645 2
55883 [일반] 게임회사 여직원들 [42] 정용현18962 15/01/09 18962 1
55814 [일반] 2015년 20대들의 트렌드 읽기. [21] 탐이푸르다9931 15/01/06 9931 9
55804 [일반] 시를 감상해 봅시다. (1) [13] Ataraxia13005 15/01/05 3005 0
55770 [일반] 내 인생의 Best 웹툰들...!!! [78] [fOr]-FuRy17097 15/01/02 17097 2
55736 [일반] 2014년의 만화 - 최고의 만화 [7] 책닭7472 15/01/01 7472 0
55630 [일반] 상의원 (스포함유) [16] 성동구7085 14/12/26 7085 2
55557 [일반] [영화공간] 2015년 개봉 예정 한국영화 기대작 Top10 [60] Eternity15826 14/12/21 15826 3
55457 [일반] 나를 찾아줘 : 매너리즘을 탈피하지 못한 범속함 [32] 구밀복검12261 14/12/16 12261 7
55414 [일반] 근래에 본 웹툰 중 가장 최고.. [46] 트리거17721 14/12/13 17721 4
54955 [일반] 임진왜란 해전사 - 9. 한산이 무너지다 [19] 눈시BBand6543 14/11/18 6543 10
54647 [일반] 미생 드라마를 보며 느낀 불편함 [63] 王天君14413 14/11/01 14413 8
54641 [일반] [음악] 신해철, '일상으로의 초대': 내가 그에게 배운 사랑 [6] 두괴즐4475 14/11/01 4475 4
54443 [일반] 이것이 개발자 유머다! 플리커 편 [27] 랜덤여신5886 14/10/22 5886 1
목록 이전 다음
댓글

+ : 최근 1시간내에 달린 댓글
+ : 최근 2시간내에 달린 댓글
맨 위로