Sunday, December 30, 2018

독서 - 언어 본능 - 스티븐 핑커



90년대 초반에 나온, 언어학계의 유명한 책입니다. 자연어 처리에 관심이 많아서 겸사겸사 교양으로 읽어봤습니다. 이 블로그의 내용 요약을 참고하실만한데, 요약이다보니 언어학적인 이야기가 주로 나오지만 실제로 책을 읽으면 비전공자에게도 그럭저럭 읽힙니다. 이 책의 핵심 내용은 "언어는 호모 사피엔스라는 종의 본능이다"라는 것인데, 이를 뒷받침하는 각종 연구 사례를 많이 소개합니다. (그게 뭐였는진 거의다 까먹었습니다.)

이 책이 나온지 24년이 지났네요. 아무래도 시대에 뒤떨어진 내용이 있겠죠? 예를 들어 기계 번역(Machine translation)은 최근 몇년간 엄청난 발전이 있었습니다. 이 책에서 나오는 허술한 자동 번역은 옛날얘기죠. 물론 아직도 갈길이 멉니다만.

언어학 공부하시는 분들이야 이미 아실테고.. 자연어 처리 연구하시는 분들에게도 일독 내지 반독쯤 권해드립니다. 그 외에도 인간과 언어에 호기심을 갖고있다면 얼마든지 읽으시길. 

독서 - Hunger - Roxanne Gay


"나쁜 페미니스트"로도 유명한 록산 게이의 자전적 에세이입니다. 이 책은 읽으면서 상당히 스트레스를 받았습니다. 록산 게이가 겪었고, 지금도 겪고 있는 끔찍한 삶의 일면을 마주하는게 쉬운일이 아니더군요.

이 블로그에 있는 본문 발췌를 한번 보셔도 좋을듯합니다.
TED 강연도 하나 첨부합니다. 





독서 - Everybody lies (모두가 거짓말을 한다)

yes24 소개

서평을 보고 예상했던 대로 재미있는 이야기가 여럿 나오긴 한다. 여러 사례를 자세히 읽으면서 설문 조사의 문제점과 사람들의 행동방식, 본성에 대한 생각을 하는 좋은 계기가 되었다. 

한편 사회학의 본질적인 한계인 검증불가능/재현불가능성 때문인지 몰라도 종종 논리가 허술한 것은 단점. 그리고 당연하게도 서평에 나오지 않는 이야기는 상대적으로 재미가 덜하다. 아,  경마/말 품종 관련 이야기가 기억에 남는데, 아마도 데이터 분석 측면에서 흠잡을 구석이 없는 이야기라 그런듯.

원문으로 읽었는데 상당히 잘 읽힘. 베스트셀러라 그런지 미국 아마존에서 중고책 매물도 많고 가격도 쌉니다.

독서 - 천천히 그림 읽기 - 조이한, 진중권

천천히 그림 읽기 - yes24 미리보기

어릴땐 코로도 안보던 그림인데, 언젠가부터 기회가 되면 미술관을 간다. 물론 기회가 된다는게 친구가 놀러와서 런던이나 뉴욕 구경을 시켜주면서 겸사겸사, 혹은 내가 새로운 도시에 가보는 등의 수동적인 상황이지만 일단 그렇게 되면 적극적으로 간달까. 아마도 2014-2015년 쯤 브리티시 갤러리에서 본 반 고흐의 Wheat field with cypresses가 제일 큰 자극이었던걸로 기억한다.


2015년에 방문했던 스페인 말라가의 피카소 박물관도 마찬가지.



아직도 그림은 시각적 자극 및 감정적 이해정도로만 감상하지만 이정도만 해도 18세기 이후의 그림은 얼마든지 재미있게 본다. 그러나 아는만큼 보인다고, 특히 미적 경험으로서의 가치가 다소 애매한 르네상스 이전의 그림은 흘낏 보고 넘어가는 경우가 많다. 다들 비슷하겠지. <조이한, 진중권의 천천히 그림읽기>는 나같은 사람에게 잘 맞는 내용으로 이루어져있다. 기나긴 미술사를 연대순으로 다루거나 하면 굉장히 지루할텐데, 각 장마다 대뜸 그림을 보여주고 질문을 던진다. 무려 99년에 나온 책이고 나도 10년 가까이 안읽고 갖고있다가 최근에 읽었다.

총 7장 중 6장 "그림에는 요란한 의미의 움직임이 있다"를 진중권씨가, 나머지를 조이한씨가 집필했다. 그리고 6장만 상당히 진지하다. 딱히 통일성을 갖추려고 노력을 한것같진 않다. 교양서적으로는 조이한씨가 쓴 부분이 쉽고 편하다.

독서 - 거대한 불평등/거대한 후퇴/불평등의 대가/경제 규칙 다시쓰기/유로 - 조지프 스티글리츠

조지프 스티글리츠는 2001년 노벨경제학상을 받은 사람입니다 (경제학자입니다, 라고 말하려니 동어 반복같군요). 연구 내용이나 주장하는 바가 민주당/좌파의 의견과 감성을 갖고 있어서 해당 진영의 Think tank 역할이 되기도 하고, 한국 언론에서도 자주 인용하는 인물입니다.

책은 다섯권이나 샀지만 다 읽지는 않았구요, 그래도 다 합치면 1-2권쯤은 읽었겠네요. 비슷한 시기에 이어서 쓴 글이라 겹치는 내용이 많은데 저는 왜 저걸 다 샀을까요. 사실 같은 책 안에서도 겹치는 내용이 많아서.. 초반에 너무 요약을 잘 해놔서 읽다보면 앞에서 말한 내용을 반복하는 느낌이 듭니다. 

한권을 꼽으면 <유로>입니다. 브렉시트 투표 전에 쓴 책이지만 이미 그리스 등이 겪은 경제 위기의 불가피함을 잘 설명합니다. 저는 막연히 EU라는 조직이 미국 연방 정부처럼 강력하지 않기 때문에, 전체의 이득을 위해 일부가 손해를 보는 판단을 내리지 못하고 그래서 미국만큼 강려한 힘을 발휘하지 못하는 것이라고 생각했었습니다. 저자는 이 점을 거시경제적으로 간단히 설명합니다. 경제학을 공부하신 분들에겐 기본 중 기본이겠지만 저는 이 책에서 설명해주기 전까진 전혀 몰랐네요.

대충 요약하면, 어떤 나라의 경제가 폭망하면 환율이 떨어지고, 따라서 그 나라의 제품이 가격경쟁력을 갖추게 되어 다시 회복을 하는 발판이 되어야 하는데 유로화로 통일이 되면 이런 장점이 사라집니다. 그런데 유럽 중앙은행은 말만 중앙은행이지 강력한 재정 정책을 쓸 수 있는 권한이 별로 없고, 그마저 독일, 영국, 프랑스가 좌지우지하고, 이들은 단일 통화의 혜택을 보고있는 나라라서 손해보면서까지 그리스나 스페인을 도와줄 이유가 없습니다.

다른 책은 주로 미국을 사례로 들어 경제 불평등 문제를 다룹니다. 유로를 제외한 나머지 4 권은 비슷한 내용이라 아무거나 고르셔도 될것같습니다.

독서 - 이것은 일기가 아니다 - 지그문트 바우만 (이택광, 박성훈 번역)

번역이 너무 거칠군요. 근데 이런 책 번역이 대체로 다 이모양이긴 합니다. 그렇다고 용서할순 없죠. 솔직히 말하면 제가 번역한 데이터 과학책보다 훨씬 문장 수준이 떨어집니다. 이택광씨에겐 실례지만 이 분이 번역한 책은 안사야겠다는 결심을 했습니다.

내용은, 2010년 언저리의 유럽 신문에 나온 괜찮은 사설을 모아서 읽는 기분입니다. 벌써 8년 전이군요. 저맘때는 저런 일이 있었는데, 분명히 아주 큰 화제였는데, 이젠 다 지나간 일이 되었군요.

독서 - 이상한 용손 이야기, 소설가가 주인공인 소설, 나무를 보지 말고 숲을 보라고 - 곽재식

곽재식 작가님은 따로 소개를 해도 될만큼 멋진분입니다. 간단히 링크만 -



곽재식 작가님 트위터, 블로그 .

<이상한 용손 이야기>는 정말 귀엽고 따뜻한 소설입니다. 왠지 이 작품은 판타지/환상문학이라는 말을 붙이기가 좀 애매하네요. Daft punk의 get lucky 앨범을 전자음악이라고 소개하면 좀 이상하듯이죠. 장르를 자세히 소개하면 그 장르에 별 관심이 없는 사람들을 내치는 효과가 있는데, 그러기엔 부당한 작품이라 이런 느낌이 드는것 같습니다.

<소설가가 주인공인 소설>. 어찌보면 오히려 진부할 수 있는 설정을 가지고 멋지게 작품을 완성하셨네요.

<나무를 보지 말고 숲을 보라고>는 곽재식 작가님 작품에서 종종 나오는 관료제와 연구, 과학을 소재로 하는 소설입니다. 비꼬는것도 이렇게 귀엽게 하시다니.. 

어서 가서 읽으시죠!

독서 - 커피잔을 들고 재채기 (단편 모음집), 이영도 외

교보문고 책 소개 페이지

이영도는 여기서 <샹파이의 광부들>이라는 단편을 썼습니다. <에소릴의 드래곤>과 세계관을 공유합니다. 

사실 박애진의 <학교>와 이영도의 <샹파이의 광부들>밖에 안읽었네요. 이영도의 작품은 물론 재미있게 읽었지만 자세한 내용은 다 까먹었습니다. 당연히 매우 이영도스러운 이야기입니다. 박애진의 <학교>는 제 취향은 좀 아니었지만 맨 앞에 있는거라 읽었는데 왜 심드렁했는지 기억이..

...

기록삼아 올립니다.


독서 - Essence of decision (결정의 본질), Graham Allison and Philip Zelikow

"내가 정치팀 첫 발령이 난 초짜 기자고, 발령 전에 책 한 권만 읽을 수 있다면 이걸 보겠다. 첩보스릴러처럼 읽히는 핵 위기의 막전막후, 영화 〈라쇼몽〉이 떠오르는 삼중 구조, 감탄만 나오는 모델링. 권력의 작동 원리를 보는 눈이 달라진다." - 천관율 <시사IN> 기자

천관율 기자의 추천으로 사서 읽은 책입니다. 아마존에서 중고로 싸게 사서 읽었고 원문으로 읽었는데 생각보다 읽을만 했습니다. 소설책보다 오히려 읽기 쉬울거에요.

1962년 10월, 소련이 쿠바에 핵미사일을 설치했다는 것이 백악관에 알려졌고 약 2주간 미국과 소련은 엄청난 외교적 긴장을 겪습니다. 인류 역사상 핵전쟁에 가장 가까웠던 순간이라고도 하고, 당시 미국 대통령이던 케네디가 말하길 전쟁 발발 확률이 1/3-1/2정도 되었다고 합니다. 그런데 쿠바에 핵미사일을 배치한 것이 극히 위험하고 갑작스러운 일이라 온갖 수싸움이 일어납니다. 각 국이 가지고있는 제한적인 정보를 바탕으로 상대를 예측하고 그에 맞는 가장 현명한 행동을 해야했죠. 아주 간단히 말하면 죄수의 딜레마와 같은 상태지만 문제는 최악의 경우 수백만, 수천만이 죽을수도 있었습니다. 아니, 극단적으로는 거의 인류 멸망도 가능하죠.

이를 단순하게 생각하면 "소련"은, 혹은 당시 소련 수상인 "후르쇼프 Khrushchev"는 왜 그랬는가? 라는 질문을 던지게 되는데, 이는 한 국가가 단일 주체라는 가정을 깔고있습니다 (모델 1). 그런데 현실에서 일어나는 결정 과정은 당연히 그보다 복잡하죠. 정부는 하나의 조직이니까요 (모델 2). 그리고 심지어 조직 내의 누군가는 본인의 이득을 위해 조직 전체의 피해를 감수할수도 있구요 (모델 3). 이 책에서는 각 모델에 의거해 각국이 내린 판단을 낱낱히 분석합니다.

재미있습니다. 정치 고관심층이라면 특히요. 더군다나 우리나라의 처지가 있다보니. 

Friday, December 28, 2018

독서 - " 꼴찌에게 보내는 갈채" - 박완서 (산문집)

책 리디북스 링크입니다.
스샷으로 감상평을 대신합니다. 그게 말이 되는건진 모르겠지만 아무튼 그렇습니다. 아마 이 블로그를 안읽겠지만 추천해준 친구에게 감사. 










Monday, December 10, 2018

SANE 2018 발표 영상 공개

10월에 보스턴에서 열렸던 SANE 워크샵 영상 8개가 유튜브를 통해 공개됐습니다. 


  • 구글의 멀티모달 음성분리인 Tali Dekel - Looking to Listen: Audio-Visual Speech Separation



  • 구글의 Text-to-speech 시스템인 타코트론 등을 소개하는 Yu Zhang - Towards End-to-end Speech Synthesis 





  • 음성인식 대회인 CHiME의 역사를 통해 배우는 음성인식 성능의 역사 Jon Barker - Distant microphone conversational ASR in domestic environments 











독서 - 검은꽃

검은꽃, 김영하, 2003

매우 강력히 추천하는 작품입니다. 내용에도 생각할 거리가 많지만 다시한번 김영하 작가님의 문체를 생각하게 되더군요. 읽은지 2주정도 됐는데 그사이에 너무 바빴던지라 자세한 글을 쓰려면 다시 책을 봐야할것같은데 그러기엔 너무 바쁘므로...
저를 믿는다면 읽으세요!!!

독서 - 박완서의 말

재미있게 읽었습니다. 박완서 작품은 막상 읽은게 거의 없는데도 말이죠. 몇몇 작품을 읽어봐야겠다는게 결론이라 쓸말이 없으니 몇몇 트윗을 링크하여 감상 내지 소개를 대체합니다.


















Tuesday, November 27, 2018

독서 - 김영하 - 엘리베이터에 낀 그 남자는 어떻게 되었나

1999년 발표. 네이버 책 링크


김영하 작가의 건조한 문체와 인물 설정이 아주 마음에 들었고 글을 전개하는 방식도 상당히 흥미로웠다. 최근 알쓸신잡에서 엿본 작가의 성격과 철학, 그리고 여러 단편에서 공통적으로 나타나는 인물의 성격과 말투를 엮어 읽는 재미가 쏠쏠. 읽고나서 가장 나를 들뜨게한 작품은 <바람이 분다> 인데, 거의 유일하게 긍정적이고 희망적인 마무리이기도 하고 주인공의 대책없는 희망에 다소 공감할 수 있어서가 아닐까 싶다. 피뢰침, 흡혈귀, 당신의 나무 등등 전부 너무너무 재미있게 읽었다. 

97-99년에 쓴 작품을 모은 단편집이니만큼 문체, 말투, 소재가 모두 20년도 더 된 것들인데, 작가님과 나이차이가 좀 나지만 나름대로 느껴지는 향수도 한 몫 한듯. 작중 인물의 시선과 생각에서 느껴지는 에로티시즘도 재미있고.

가끔 미묘하게 느껴지는 내 취향 기준의 설명 과잉은 옥의 티.

PS. 지인이 추천한 2003 발표작 <검은꽃> 읽는중. 

Sunday, September 30, 2018

ISMIR 2018 논문 소개 [3/3]



차례

ISMIR 2018 논문 소개 [1/3]
ISMIR 2018 논문 소개 [2/3]
ISMIR 2018 논문 소개 [3/3] (이 게시물)


이번 글에서는 Late-Breaking/Demo 세션을 보겠습니다. 이 세션은 6+n페이지고 피어리뷰를 받는 정규 세션과는 다른 워크샵 트랙이라고 보시면 됩니다. 분량은 2페이지이고 MIR과 관련된 것이라면 실험이 진행중인 내용이나 데모 등 무엇이든 편하게 낼 수 있는 세션입니다.

LDB submissions

인공 와우(cochlear)는 음성 인식을 목적으로 하고 신체에 장착해야하므로 효율이 매우 중요합니다. 따라서 복잡한 연산이 어렵고 대략 수십 채널정도의 주파수 해상도를 갖고있습니다. 여기에서는 인공 와우를 장착한 사람들이 음악을 들을 때 어떤 요소를 중요시하는지 알기위해 인공 와우를 모사한 시스템을 통과한 음악을 들려주며 선호도를 AB 테스트로 조사했습니다.

그 결과가 그림 1입니다. 사람들은..
- 아는 노래 > 모르는 노래
- 정상 음질 > 떨어지는 음질

그리고..
- 모르는 노래, 정상 음질 > 아는 노래, 떨어지는 음질

이 이 실험의 제일 큰 수확이겠네요.

너무 간단한 결과지만 '아는 노래'로 널리 알려진 곡을 고르다보면 인기가 높은 곡이 나와서 애당초 '아는 노래'와 '모르는 노래'에 편향이 있을 수 있는데 (예를들어 '아는 노래' 집합의 노래 자체가 '모르는 노래'보다 더 사람들이 좋아할만한 노래라든지..) 이런걸 잘 걸러내고 실험한것 같았습니다.


피아노 악보에 있는 운지를 생성하는 파이썬 라이브러리입니다. 깃헙 코드 참고.

조만간 풀페이퍼로 나올것같은 완성도의 초록입니다. 흔히 악기의 음표 하나의 오디오 신호를  ADSR(attack - decay - sustain - release)의 인벨롭으로 해석합니다. 여기에서는 이를 HMM으로 모델링해서 채보에 이용했는데 매우 직관적이고 합리적인 방법으로 보입니다.

WaveGAN 등 좋은 연구를 많이 하고있는 Chris Donahue의 쩌는 데모입니다. 온라인에서 직접 보시죠.

요약하면, 단선율의 피아노 멜로디에서 다음에 나올 확률이 높은 노트 8개를 (RNN encoder로) 선정해서 8개의 키보드에 맵핑하고 이를 보여주는 방식입니다.

2페이지 워크샵 페이퍼에 수식이 15개라니..




Tonnetz는 음악에서 서로 다른 음표의 상대적인 관계를 시각화하는 방법입니다. 이 설명도 좋네요. Tonnetz를 이용하면 각 관계가 '그림'으로 나오는데 이 그림이 key-invariant, pitch-invariant등의 장점을 갖고있습니다. 이 초록에서는 이를 좀 더 발전시켰는데 제가 깊게 이해하진 못했습니다.

----

이상으로 ISMIR 2018 논문 소개를 마칩니다. 

ISMIR 2018 논문 소개 [2/3]


차례

ISMIR 2018 논문 소개 [1/3]

이어서 논문을 열심히 읽어보도록 합시다!

Papers

frame단위로 뭔가를 분류/예측/탐지하는 MIR문제가 많이 있습니다. 예를 들면 보컬 유무 탐지나 마디의 경계선을 찾는 다운비트 탐지같은 문제가 여기에 해당합니다. 이를 딥러닝 혹은 로지스틱 회귀 등으로 해결하려면 출력값에 Sigmoid를 적용해주고 이를 0.5를 기준으로 반올림하는 식의 방법을 많이 사용합니다.

그러나 상황에 따라서 0.5 미만의 값임에도 주변보다 값이 확연히 큰 피크에 해당한다면 "Positive"로 보는게 맞을때가 많이 있습니다. 이런 경우에 주변 값의 평균과 최대값 등을 비교하여 피크를 찾는 방법이 널리 쓰입니다. 본문의 식 1-3이 여기에 해당하고 Librosa의 peak_pick도 같은 원리입니다.

한편 이런 SGD기반의 최적화는 대체로 프레임단위로 ground truth가 존재하고 각 프레임마다 loss를 구하는 것이 보통입니다. 이 논문은, peak picking에서 주변 프레임과 비교를 통해 지역 극대값을 찾는다면 loss도 주변 프레임까지 고려해야 한다는 가설로 시작합니다. 즉 ground truth에 존재하는 지역 극대값을 예측모델이 따라갈 수 있도록 하자는 의미입니다.

그런데 여기에서 제안한 방법은 아무리 봐도 좀 의아하네요. 요약하면 $t=t_0$의 loss뿐만 아니라 주변의 loss까지 포함하자는 이야기인데, 어차피 전체 신호를 프레임으로 나누고 각 프레임에서 loss를 구한 뒤에 그걸 다 더하는 식으로 (=이 논문에서 식(4)에 나온대로) loss를 구하기 때문에 결과적으로 동일한것이 아닌지.. 

그리고 식(11)은 cross-entropy의 두 항에 가중치를 준 식인데 같이 나온 설명은 물론 틀린말이 아니지만.. 그림 4, 5를 보면 $\phi$가 1에 가까울수록 F-measure로 더 높은 숫자가 나오는데요, 이에 대해 본문에서는 아래와 같이 복잡한 해석과 추정을 합니다.

"For any values less than one, there is a dramatic decrease in performance which suggests that the false negative suppression half of the WCE function has a negative effect on performance. This is possibly due to the extremely high value given to flat parts of the activation function (see Figure 2), causing these parts of the activation function to become noisy. This suggests that the improvement is due to the false positive suppression half of the WMD system. As this alone achieves higher F-measures than the other proposed cost functions, then it also suggests that their improvement is also due to the suppression of false positives."

그런데 훨씬 직관적인 설명이 있습니다. 
- $\phi$ 가 작아질수록 (예: 0이면) target이 1일때의 loss를 크게 보므로 false negative를 줄입니다. 물론 반대로 $\phi$가 클수록 false positive를 줄이구요. 
- 여기에서 다룬 드럼 채보같은 문제는 라벨의 밸런스가 전혀 맞지 않습니다. 대부분의 프레임에서 아무 일도 없고 (target이 0) 어쩌다가 한번씩만 target=1이 되니까요. 
-- 그리고 이런 데이터 분포를 따라서 학습이 진행되기 때문에 뉴럴넷은 negative (target=0)를 훨씬 더 많이 예측합니다. 타겟의 대부분이 0이니까요. 
- 그런데 F-measure는 false negative와 false positive에 동일한 가중치를 주는 평가지표에요 (precision과 recall의 조화평균).  다시말해 데이터 포인트로는 몇개 없는 target=1들의 에러인 false negative에 훨씬 큰 가중치를 주고 전체 성능을 평가하는 셈이죠.
- 그러므로 학습을 진행할 때 $\phi=1$에 가까우면, 즉 false negative의 데이터 샘플에서 훨씬 큰 gradient를 받아오도록 해버리면 (<--> target=1인 데이터 샘플에 더 큰 가중치를 주면), F-measure 측정시 더 유리한 점수를 받습니다.

저자가 트잉여가 아니라 물어보긴 귀찮지만 아무래도 제 설명이 맞지않나싶습니다. 그리고 이 문제는 데이터에 가중치를 줘서 밸런스를 맞춰주면 바로 확인해볼 수 있고, focal loss같은것을 써도 되고, 아무튼 제안한 방법보다는 좋은 실험/해결방법이 많이 있다고 생각합니다. 



저자는 이미 여러번 보컬 탐지 (VD; Singing voice detection) 논문을 냈었는데, 그러다보니 보컬에 있는 프레임이 대체로 에너지가 더 높다는걸 깨달았습니다. 그리고 데이터 기반으로 VD문제를 풀다보면 시스템이 단순히 에너지 기반의 판정을 내려버리는 문제가 생길 수 있죠. 이를 해결하기 위해 컨볼루션 커널의 성분의 합이 0이 되도록 하는 zero-mean convolution을 제안합니다. 이렇게 되면 입력값 X에 있는 offset이 제거된다는것이 3페이지의 식에 잘 나와있습니다.

사실 저도 비슷한걸 드럼 분리에서 깨달았는데 이걸 가지고 휴리스틱으로 점철된 논문을 냈다가 까인게 5-6년전 일이군요. 혹시 관심있으신분...



실험이 잘 되어있는 좋은 논문이네요. 그런데 한편으론 에너지가 더 크다는 것도 정보의 일부고 실제 데이터가 그런 분포를 따른다면 그걸 이용하는것에 반드시 문제가 있다고 할 수 있을지.. 물론 제안하는 방법이 모든 SNR에서 더 좋은 성능을 보였기 때문에 이 경우에는 별로 중요하지 않습니다만.

작년에 나온 (스펙트로그램을 이용하는) U-net기반 음원분리 논문의 time-domain 버전입니다. 전에 여러 번 읽고 구현도 해봤는데요, 몇 가지 특징은..

- 크기가 작은 데이터셋으로 했을 때 스펙트로그램 U-net보다 살짝 좋은 성능이 나왔습니다.
- sisec 2018에서 괜찮은 성능을 보인 시스템 중 하나입니다.
- "valid" 컨볼루션을 사용할것을 제안했습니다. 맞는 방향이라고 생각합니다.
- U-net의 업샘플링 부분(디코더)에서 컨볼루션 레이어 기반의 업샘플링이 아니라 linear interpolation을 사용했는데 이것도 나쁘지 않아보입니다. 그런데 컨볼루션 업샘플링도 파라미터를 잘 셋팅하면 사실 linear interpolation이랑 비슷한 작용을 하는식으로 학습이 되지 않을까 싶기도 하구요.
- 입력 값으로 스테레오 채널을 모두 사용한것은 좋은 방향입니다. 그런데 여기서 한것보다 좀 더 적극적으로 할 수 있을것 같습니다.
- 네트웍의 전반부(인코더)는 conv1d와 decimate를 번갈아가면서 사용했는데, 사실 이것은 dilated conv1d를 쌓은것과 같은 연산을 수행합니다. (본문엔 나와있지 않습니다.)





다소 복잡한 뉴럴넷 구조를 쓰는데 아쉽게도 데이터셋에 따라서 기존 방법 (DSM [2]: 작년 ismir에 나왔던 간단한 컨브넷) 대비 제안한 방법(위의 3개 - segmentation, seg+ note, seg + time)항상 좋지가 않아서 좀 아쉽네요. 데이터셋이 작아서 그럴수도 있다는 생각도 듭니다. 그리고 이런식으로 결과가 나왔다면 데이터셋마다 어떤 특징을 갖고있는지 알아봐야할 때가 아닌가 합니다.

(c)의 데이터셋과 DSM 논문의 저자가 같은 사람(Rachel Bittner)인데요, 자기가 만든 데이터셋으로 제일 열심히 실험을 했던것일지도 -.-

제안한 방법중에 Segmentation이 나머지 두개보다 더 간단한건데 막상 성능은 더 좋게 나왔네요. 물론 차이가 크지 않고, note PNN과 time PNN은 transfer learning을 한것이라 Segmentation이 6 epochs동안 학습을 한 반면 note PNN, time PNN은 2 epochs만에 저 성능을 달성한 것이라고 합니다. 그런데 그건 pre-training시간을 빼고 계산한것인데 pre-training까지 포함하면 정말 유리한지? 물론 pre-training은 한번만 하는 것이니 데이터셋 내지 use-case가 여럿 있다면 여전히 장점이긴 하지만요. 그보다도 어차피 트레이닝 몇시간이면 될것같은데; 차라리 학습 데이터가 덜 필요했다면 모를까 엄청난 장점으로 보이진 않습니다.

전반적으로 실험이나 글쓰기도 괜찮고, Li Su가 공저자로 참여한 논문이 이번에 괜찮았던것으로 기억해서 앞으로 나올 논문도 기대가 많이 됩니다.


연구내용은 다소 평이하지만 런던에 있는 자동작곡 스타트업 Jukedeck에서 나온 논문이라 링크만 걸겠습니다. Jukedeck은 업계에서 상당히 잘 하고있는 스타트업이니 현업에서 어떤 방법을 사용하는지 알 수 있는 좋은 자료입니다.



아주 마음에 드는 논문입니다.

우선 symbolic domain(악보)에서 음악의 스타일을 바꾸는 스타일 트랜스퍼 문제를 푸는 논문입니다. 여기에서는 주어진 음악이 멜로디와 반주(accompaniment)로 이루어진 homophonic music이라고 가정하고, 멜로디를 그대로 둔 채 반주의 스타일만 바꾸는 상황으로 가정합니다. 

LSTM으로 feature를 생성하고, 이를 이용해 다시 autoregressive convnet으로 각 시점의 음표를 생성합니다. 여기에서 핵심은 섹션 2.4 스타일 트랜스퍼에 나온 알고리즘 1입니다.



일단 본문에 나온 바로는 [7] DeepBach의 변형입니다. 그런데 제 이해가 매우 얕아서 누가 자세히 알려주시면 좋겠군요. 


논문 소개 2/3은 여기까지입니다.


Saturday, September 29, 2018

ISMIR 2018 논문 소개 [1/3]



차례

ISMIR 2018 논문 소개 [1/3] (이 게시물)

ISMIR 2018

MIR(Music information retrieval) 분야의 가장 중요한 학회인 ISMIR(/이즈미어/) 2018이 막 끝났습니다. ISMIR는 현재 더블 컬럼 6+n페이지의 논문을 받고 있는데 이번에는 총 104편의 논문 발표가 있었습니다. 매년 제출되는 논문이 늘고있고 작년보다 약간 많은 논문이 나온것 같네요. 참가자수도 약 450명으로 작년의 300여명에 비해 크게 늘었습니다. 머신러닝 전반적으로 관심이 늘어나고 있고 프랑스 파리라는 위치도 한 몫 했겠죠.

이번에는 특이하게 모든 논문이 4분간의 구두 발표와 2시간 가량의 포스터발표를 둘 다 하는 형식으로 학회가 진행되었습니다. 첫 시도였는데 여러가지 장단점이 있었죠. 그리고 처음으로 구두 발표를 유튜브에 실시간으로 중계하였습니다. 

Trend

- 데이터셋 논문의 증가!
- 딥러닝이 절대 다수
- 자동 채보같은 문제에서 Convolutional RNN을 사용한 논문을 여럿 봄
- 세부 주제는 여전히 매우매우 다양함

Tutorials




Papers

ISMIR 논문은 전부 온라인에 공개되어있습니다. 몇몇 논문을 골라서 간단히 소개하겠습니다.

이 논문에서 푸는 문제는 Automatic drum transcription, 즉 드럼 채보입니다. 

드럼이 있는 오디오 신호 --[ADT System]--> 드럼 악보 

여기에서 제안하는 시스템은 Player와 Transcriber로 이루어져있습니다. Player는 학습 데이터가 부족한 부분을 채워주는 모듈로 기존 학습 데이터를 변형하거나 생성하는 역할을 하고, 이를 이용해 Transcriber는 점점 더 채보를 잘 할 수 있게 되는 셈입니다. 논문에서는 Generator/Discriminator로 이루어진 GAN에서 영감을 받았다고합니다. 기존 MIR 연구중에서도 데이터 크기를 키우는 Data augmentation 논문은 여럿 있었지만 이런건 처음보네요.

제안하는 방법은 (남들도 그렇듯) Stochastic gradient descent/Backpropagation입니다. 따라서 전체 end-to-end 시스템을 학습하려면 Player <--> Transcriber간 소통과 player 내부의 동작이 모두 미분가능해야겠죠. 섹션 2.2.1, 2.2.2를 보면 Player의 여러 과정이 θ로 매개변수화 되어있습니다. θ는 드럼 음원에 컨브넷(Player Convnet이라고 부릅시다)을 적용해서 구합니다. 그 결과 원래 입력 파일이 조금 바뀌고 (Augmentation) 추가적으로 다른 드럼 소리가 정해집니다 (Sample addition). 이 과정은 그림2에 잘 나와있습니다. 그림 1이랑 내용이 겹치지만 둘 다 올립니다.





학습은 GAN의 학습을 따릅니다. 즉 Transcriber는 y를 감소하는 방향으로, Player는 (1-y)를 감소하는 방향으로 최적화를 합니다. Wasserstein GAN 의 방식같군요.

실험 결과 분석은 생략합니다. 

4.4 섹션을 보면 Player의 역할에 대한 토의가 있는데 저는 동의하지 않는 내용입니다. 일단 전체 학습 구조가 이렇게 하는게 제일 좋은건지 잘 모르겠어요. 논문의 의도는 학습 데이터가 많지 않아서 뉴럴넷이 판단하기 어려운 케이스를 많이 만들어주는것이라고 하는데, i) Player Convnet이 정말 그걸 판단할 수 있는 구조가 아니라고 생각하구요, ii) Player가 문제를 어렵게 만드는것이 논문에서 의도한대로 학습데이터가 희소한 부분을 채워준다는 보장이 전혀 없습니다. 문제를 어렵게 만드는 전처리과정을 학습한것 이상으로 해석하는건 무리수라고 봅니다. 논문에서 관찰한대로 대부분의 매개변수가 범위내의 극대 혹은 극소값 (-1 혹은 1)을 가진 것은 값이 극단적일수록 일반적인 드럼 신호가 아니라서 문제가 어려워져서 그런것일 가능성이 더 높습니다. 만일 Player도 y를 감소하는 방향으로 학습했다면 Player가 아니라 trained preprocessor가 되었을테니까요. 

깃헙에 각종 데이터와 코드가 올라와있습니다.

다운비트 추정(Downbeat tracking)은 음악 오디오 신호에서 각 마디의 시작점(들)을 찾는 문제입니다. 최근에 딥러닝 기반의 다운비트 추정 시스템 논문이 여럿 나왔는데 이를 분석하는 논문입니다.

다운비트 추정 문제는 리듬과 직접적인 연관이 있는 문제이고 따라서 시스템이 리듬과 관련된 특징값 추출 --> 뉴럴넷 --> 각종 후처리로 이루어져있습니다. 그러다보니 여러 시스템을 공정하게 비교하기가 어렵고 각 과정의 중요도 내지 기여도를 판별하기 어려운데 이 논문에서 분석을 시도합니다.

그런데 논문에서 해석한것과 달리 저는 후처리(thresholding vs DBN) 말고는 전체적으로 큰 영향이 없는것으로 봅니다. 특히 중요한 요소라고 한 Datum vs Beat -- input signal granularity는 그렇게 중요하지 않아보여서 좀 의문입니다. 

굉장히 좋은 연구입니다. 실험을 더 추가할것도 없이 바로 TISMIR에 낼 수 있는 깊이가 아닌가 합니다.

크게 보면 자동작곡을 다루는 논문입니다. 여기에서는 멜로디에 맞는 코드를 찾는 harmonization과 코드에 맞는 멜로디를 생성하는 melodization을 번갈아가면서 수행하는 시스템을 보여줍니다. 이렇게 번갈아가면서 음악의 요소를 업데이트하는 방식은 실제로 사람이 작곡을 할 때도 거치는 과정이죠. "To partially and incrementally refine the (music) piece"라는 표현을 본문에서 사용했네요.



그림 2를 보면 각 모델이 어떤 역할을 하는지 잘 나와있습니다. i) 코드의 흐름을 먼저 예측하고 ii) 코드가 바뀌는 타이밍을 정하고 iii) 다시 코드 내에서 멜로디의 음표가 나오는 타이밍(멜로디의 리듬)을 예측하고, iv) 마지막으로 이에 맞추어 각 음표의 음고(pitch)를 결정하여 멜로디를 완성합니다.

온라인 데모도 보시길 추천합니다.

글쓰기도 나쁘지 않고 실험도 잘 했습니다. 다만 실제로 목적하는 바를 달성했는지 다소 의문이 들기도 하는데, 제가 많이 접해본 내용이 아니라 실험 결과를 평가하기가 어렵네요.

일단 논문의 목적은 VAE로 음악의 representation을 학습하되 (audio signal --[VAE]--> latent vector) 그 결과로 나온 latent vector가 우리가 원하는 의미를 갖도록 하는 것입니다. 유사한 내용으로 머신러닝에서 이야기하는 "disentangled" representation이 있습니다. 이는 hidden vector의 각 차원이 사람에게 중요한 의미(예: 사진의 밝기, 글씨의 기울기, 선의 굵기..)를 갖도록 한 것입니다. 

섹션 2.1엔 일반적인 VAE 수식이 정리되어있습니다. 쉽게말해 AE(Auto-encoder), 즉 자기 자신을 복원하는(encode-decoder) 뉴럴넷인데 중간에 나오는 hidden variable 혹은 latent vector인 $z$가 정규 분포를 따른다고 가정하고 이 정규분포의 평균과 분산이 인코더의 최종 결과가 되는 구조입니다. 디코더는 이 정규분포를 따르는 확률변수를 샘플링한 값을 입력으로 합니다. 논문의 그림 1에서는 인코더=Analysis, 디코더=Synthesis가 됩니다.



그림 1 우측을 보면 각 음원의 음색을 사람이 평가한 Perceptual ratings이 있죠. 얘네들을 MDS를 써서 차원을 줄인 것이 $\tau$입니다. 이제 이 정보를 이용해서 $z$가 $\tau$와 어떤 연관을 가지면서 학습이 이루어지게 하려고 합니다. 이를 위해 추가한 항이 식 (4)이고 그 결과 최종적인 비용함수는 식 (4) 바로 위처럼 됩니다.

그럼 어떤 연관을 갖게될까요? 본문에서는 "we want the distances between instruments to follow the perceptual distance" 라고 설명합니다. 즉 두 악기간에 인지적인 차이(perceptual distance)와 각 악기를 압축한 값 $z$의 차이가 서로 비례하도록 학습이 진행되는거죠. 이 거리(distance)를 측정하는 방법으로 유클리디안과 가우시안을 사용합니다.



섹션 3.1이 다소 뜬금없는데 여기서 설명하는 내용이 정확히 시스템에 어떻게 들어갔다는것인지 저는 잘 이해하지 못했습니다. 이 prior가 비용함수에 포함되었다는 것인지..



실험 결과를 보죠. 이렇게 학습을 진행하고 나온 결과 $z$ 를 PCA를 써서 3차원으로 압축한 것이 그림 3의 (b), (c), (d)입니다. 일반적인 VAE를 쓴것이 (a)구요. 제안한 방법대로 하면 각 악기별로 훨씬 더 구분이 된 결과가 나옵니다. 눈으로 봤을때 원하는 결과가 잘 나온것이죠.

섹션 5.2/표1이 좀 재밌는데요, 이 결과를 다시 레이어 1개짜리 뉴럴넷에 넣고 악기 분류 작업을 돌린 결과입니다. 일반적인 VAE가 악기 분류 작업을 제일 잘합니다! 저자들은 제안한 방법대로 하면 사람이 구별하기 어려운 악기들이(즉 종류는 다르지만 perceptual distance가 아주 작은 악기들이) 서로 겹치게 되어서 이런것이 아닌가 추측하네요.

5.3, 5.4, 5.5도 모두 의미있는 토의가 있고 특히 5.5는 온라인에 관련 영상도 있으니 참고하시길 바랍니다. 2페이지를 꽉 채운 결과 설명이 아주 인상적인 좋은 논문이네요. 



여기에서는 (convolutional) GAN으로 음악을 만드는 방법을 제안합니다. 일단 피아노롤(가로축은 시간, 세로축은 각 음표)을 생성하는 GAN인데, 최종 레이어에서 Binary value(0 또는 1)를 바로 생성하도록 수정을 가한것이 이 논문의 특징입니다. 

간단한 변화지만 뚜렷한 장점이 있네요. 기존에는 real-value로 나타난 피아노롤을 생성하고 사용할때는 이를 적당한 기준값으로 반올림하거나(thresholding) 값을 베르누이 확률분포의 파라미터로 보고 샘플링하는 방식(Bernoulli sampling, BS)을 사용했는데 둘 다 최종 결과물이 학습 과정시에 나오지 못하고 따라서 학습을 통해 해당 부분을 최적화할 수가 없습니다. 예컨대 GAN의 Discriminator가 이진화된 피아노롤을 못보는 것이죠. 이 내용이 2페이지의 '2 potential benefits' 중 첫번째 내용입니다. 두번째 장점은 학습 용이성입니다. 최종 결과물이 이진값이므로 전체 경우의 수가 급격히 감소합니다.

논문에서는 두가지 방식으로 이진화를 합니다. 식 (2)와 (3)에 설명되어있습니다. 그런데 원리 자체는 기존 방식과 크게 다르지 않고, 중간에 unit step function u()가 있는데 얘네들이 어떻게 미분가능한것인지 잘 모르겠네요.

실험 결과는 표 1에 정리되어있습니다. pretrained가 GAN을 쓰지만 제안한 Binary neuron을 안 쓴 것이구요. 그 외에 각종 학습방법에 따라 proposed, joint, end-to-end가 있습니다. 그런데 결과를 들여다보면 pretrained과 proposed가 별 차이가 없는 점은 좀 아쉽습니다.



OMR(Optical music recognition)은 이미지 파일로 악보를 받고 이를 인식하는 작업입니다. 악보 사진을 찍으면 이를 미디나 musicxml같은것으로 변환해주는 앱을 상상하시면 됩니다.



악보라서 일반적인 시각 객체 인식과는 조금 다르지만 일반적인 방법론을 대략 따르는것으로 보입니다. 이런 특징때문에 DWD(Deep watershed detector)를 사용합니다. 저자에 의하면 "simplify the desired energy surface to having small conical energy peaks of radius n pixels at the center of each object and be zero everywhere else" 라고 하는군요. 악보는 인쇄했거나 사람이 직접 오선보에 썼거나 결국 흑백으로 된 텍스트 비슷한 것이라 이 DWD를 적용하기에 적합한 상황이라고 합니다.




세상에서 유일하게 베이스 기타에 특화된 MIR을 최소 5년째 하고있는 Jakob의 논문입니다. 재즈 음악관련 과제가 있어서 가능한것이긴 하지만 정말 징한 녀석이죠.. 물론 제 논문을 2개나 인용했으므로 아주 좋은 논문인건 확실합니다.

그림 1을 보면 여러 악기가 섞여있는 음악 신호를 받아서 베이스 부분만 남긴(=Bass saliency estimation) 결과 예시가 나와있습니다. 이렇게 하고 나면 음원 분리나 채보 등의 작업을 하기에 유리해지겠죠.




일단 여기에서 [1/3]부를 마칩니다. 

Monday, September 10, 2018

음원분리 데모 SiSEC 2018

SiSEC은 Signal Separation and Evaluation Campaign의 약자로 2008년에 시작된 음원분리 경진대회입니다. 최근에 이 첼린지도 굉장히 많은 변화가 있었는데, 특히 홈페이지가 아주 예쁘게 단장되고 온라인에서 바로 데모를 들을 수 있게 되었습니다. 바로 여기! 입니다. (https://sisec18.unmix.app/#/) 최신 음악 음원분리 알고리즘의 성능을 쉽게 확인할 수 있습니다.

특히 2016년부터 데이터셋도 아주 예쁘게 정리가 잘 되어서 나오네요. 데이터셋은 MUSDB18인데 데이터셋을 편리하게 사용할 수 있게 유틸리티까지 오픈소스로 되어있어서 아주 쾌적하게 연구를 시작할 수 있습니다.

올해 열렸던 첼린지를 간단히 정리한 보고서가 아카이브에 공개되었으니 역시 참고하시길 바랍니다.

Monday, August 6, 2018

논문 - Neural Arithmetic Logic Units



Neural Arithmetic Logic Units이라는 제목의 논문입니다. 딥마인드와 옥스포드에서 나온 이 논문은 "Arithmetic Logic", 즉 사칙연산과 같은 기초적인 연산을 수행하는 유닛을 제안합니다.

이 논문에서 제안하는 NALU는 좀 특별한데, 레이어의 유형이라고 볼 수도 있고 레이어의 activation function에 해당한다고도 볼 수 있습니다. NALU를 이용하면 사칙연산과 지수, 로그 함수를 모델링할 수 있습니다. 그런데, 뉴럴넷이 이미 아주 복잡한 함수까지 모방하지 않냐고 반문할수도 있습니다.

기존 연구와의 차이를 살펴봅시다. 일반적인 딥 뉴럴 넷은 결국은 아주 복잡한 형태의 regression 모델이고 학습 데이터를 근거로 하여 $f: X \rightarrow Y$ 의 맵핑을 근사합니다. 이미지 등 많은 경우에 이 $x$는 고차원 벡터지만 이 근사과정의 원리는 $x$가 1차원일때랑 차이가 없습니다.


이 함수는 $x \in [0, 1] $의 데이터를 이용했습니다. 그런데 이렇게 학습된 뉴럴넷으로 $x=-10$이나 $x=1000$ 같은 입력을 넣으면 잘 될까요? 아뇨, 폭망합니다.

아래 그림은 아마 $-1 < x < 1 $ 의 범위에서 사인 함수를 근사한 결과같군요. 학습 데이터 바깥에서는 저렇게 되버립니다.


이를 다르게 표현하면, 사실 일반적인 뉴럴넷은 숫자를 세는 능력이 없습니다. 5 이하의 숫자끼리 더하는 법을, 3+4=7, 2+3=5, .. 등의 데이터로 열심히 가르치고나서  8 + 2=? 하면 망한다는거죠. 실제로 망하나요? 이 논문 섹션 1.1에 나온 그림 1을 보니, 그보다 더 쉬운 작업도 망하는군요,  $f(x)=x$를 가르치려고 했지만 이마저 extraploate에 실패합니다. 무려 15종류의 activation function을 시험했지만 다 망합니다.




이를 해결하기 위해 이 논문에서는 NALU를 소개하는데요, 그 전에 NALU의 근간이 되는 NAC(Neural Accumulator)를 먼저 소개합니다.

NAC


그림만으론 설명이 완벽하지 않지만 글에 잘 써있고, 원리는 간단합니다.

NAC는 parameterised unit입니다. 근데 이 파라미터의 사용이 사실상 거의 레이어에 가깝습니다. 일단 NAC의 파라미터는 $\mathbf{W}$입니다.
이 $\mathbf{W}$는 특정 레이어의 액티베이션 $y$에 추가로 붙는 affine transform이에요. 그런데, 일단 $\mathbf{W}$의 값이 $\{-1, 0, 1\}$이길 바란다고 합니다. 왜냐면 그렇게하면, affine transform의 $\mathbf{W} y$(논문을 따라서 표기는 행렬과 벡터처럼 했지만 벡터와 벡터의 곱이라고 생각합니다) 결과가 $\mathbf{W}$의 성분의 합(1이랑 곱한애들), 차(-1이랑 곱한애들), 혹은 무시(0이랑 곱한애들)가 될테니까요.

이런 특징을 강제하기 위해 결과적으로 2페이지 하단처럼 $\mathbf{W}$를 정의합니다.

$$\mathbf{W} = \tanh(\mathbf{\hat{W}} \odot \sigma(\mathbf{\hat{M}})) $$

알파벳을 보면 $\mathbf{\hat{W}}$에다가 마스킹을 적용한거라고 이해할 수 있습니다. 이렇게 하면 결과가 대체로 -1, 0, 1에 매우 가깝게 나오게 되면서도 값이 미분가능하므로 Gradient descent를 이용할 수 있습니다.


NALU

NAC를 잘 이해했다면 NALU는 간단합니다. 일단, 방금 NAC로 아마도 덧셈과 뺄셈을 수행하는 유닛을 구현한것같습니다. 그러면 곱셈과 나눗셈은 어떻게 하느냐? 똑같은 과정을 옆에 병렬로 연결해주고, 대신 그 앞뒤에 $\log()$와 $\exp()$를 달아주면 됩니다.


그런데 여기에서 각각의 element가 덧셈/뺄샘 vs. 곱/나눗셈 중 무엇을 수행하게 될지를 골라야하므로.. 하나의 게이트 값 $g$를 양쪽에 $g$, $1-g$로 적용해서 둘 중에 하나만 수행되도록 하겠습니다.  정리하면...

$$\mathbf{W} = \tanh(\mathbf{\hat{W}}) \odot \sigma(\mathbf{\hat{M}}) $$
이고, NAC의 출력은 다음과 같습니다.
$$\mathbf{a} = \mathbf{W}\mathbf{x}$$
예를들어 W가 32개라면 얘도 32개겠죠.
그리고 $\log$, $\exp$를 거치는, 즉 곱과 나눗셈을 수행하는, 변형된 NAC입니다. (이 식에 약간의 의문점이 있습니다.)
$$\mathbf{m} = \exp{\mathbf{W}(\log |\mathbf{x} + \epsilon |)} $$
얘도 마찬가지로 32개죠.
이제 32개의 게이트를 이용해 {+ -} vs {* /}를 결정합니다. 이 과정에서 $\mathbf{G}$라는 매개변수가 추가됩니다.
$$g = \sigma({\mathbf{G}x})$$
최종적으로 이 NALU의 출력은 아래와 같습니다.
$$\mathbf{y}=\mathbf{g} \odot \mathbf{a} + (1-\mathbf{g})\odot \mathbf{m}$$

(좀 더 생각해봐야하는데, 위에서 변형된 NAC가 최종적으로 곱, 나눗셈, 지수연산이 가능하다고 하는데 이게 잘 이해가 안가는군요. $\textbf{x}$가 NALU의 입력인데, 얘는 항상 log 함수를 거치는데.. $\mathbf{W}$의 성분이 1이면 ... ??? 합과 곱을 exp, log로 사용한다는 원리는 쉬운데 이 구현이 왜 이런지 막상 따지니 헷갈려요. )

실험 결과

이번에도 실험결과는 생략합니다. RL관련은 제가 잘 모르지만 다른 실험을 보면 아주 직관적으로 잘 이해할 수 있게 설계했고, NALU는 extrapolate이 필요한 사칙연산 등등 연산을 아주 훌륭하게 수행합니다.








Sunday, August 5, 2018

독서 - 이영도 - 오버더초이스

굉장한 작품이다. 서사, 서술, 주제 모두 훌륭하다. 무거우면서 유쾌하고 진지하지만 재미있다.  역시 이영도는 배신하지 않는다. 다만 스토리는 여러번 당신의 뒷통수를 칠테니 주의하시길. 

Friday, August 3, 2018

논문 - A Structured Self-attentive Sentence Embedding



https://arxiv.org/abs/1703.03130 입니다. ICLR 2017이군요. 아주 간단히 요약하겠습니다.

목적

문장벡터 (sentence embedding)을 구합니다.

방법

Bi-LSTM과 self-attention을 이용합니다. Bi-LSTM이야 워낙 널리 쓰이니 self-attention이 포인트죠. 기존에는 단어의 representation 에 평균을 내는 방식같은걸 간단하게 썼었는데 (물론 더 복잡한것도 있습니다) 각각 문장의 어떤 부분을 봐야할지를 현명하게 결정하여 더 문장을 잘 요약해보자! 하는것입니다. 

Self-attention

일반적으로, 각 히든 레이어의 피쳐맵 혹은 피쳐벡터 $\mathbf{h}$가 있을 때 여기에서 어떤 부분에 집중해야 할지(attention)를, $\mathbf{h}$ 자기 자신을 기반으로 정하는거죠. 

논문의 2.1 부분을 봅시다.

<Bi-LSTM>


문장 $S$는 모종의 word embedding의 나열로 나타낼 수 있습니다.

$$S = (\mathbf{w_1}, \mathbf{w_2}, ... \mathbf{w_n})$$

여기에서 단어 하나는 각각 $d$차원 벡터입니다. 따라서 $S$는 ($n$-by-$d$) 차원이 되는군요.

여기에 Bi-LSTM을 적용합니다. 그러면 word embedding의 나열이 hidden vector의 나열로 바뀝니다. 그 결과가  $H$입니다.

$$H = (\mathbf{h_1}, \mathbf{h_2}, ... \mathbf{h_n})$$


<Self-attention>


Self-attention은 이 $H$를 기반으로합니다. 일단 $H$는 $n$-by-$2u$ 크기의 행렬입니다. $n$이 단어 갯수고 $2u$가 각 히든 유닛의 차원이지요. 이제 이 $2u$ 차원의 벡터를 $d_a$ 차원의 벡터로 바꿔줍니다. $d_a$는 하이퍼파라미터로 우리가 임의로 정해야합니다. 히든유닛 벡터를 어느정도 압축해야 좋을지 잘 고민해봐야겠죠. $W_{s1}$은 학습되는 weights가 되구요.

$$W_{s1} H^T$$

일반적인 행렬곱입니다. 이 결과에 tanh를 적용하여 결과를 [-1, 1] 사이로 압축합니다. 이 선택이 이론상 정당화되는건 아니지만 장점이 몇가지 있습니다. 일단 비선형성이고, 값의 범위를 제한해줘서 좋은점이 있는데 이는 식 (8, 9) 근처에 잘 나와있습니다. tanh(0) == 0이라서, 단어 수가 $n$보다 짧은 경우에 0벡터를 넣으면 최종적으로 attention 행렬 $A$도 0이 나오게 되어 그부분을 완전 무시한 representation $M$을 구할 수 있는건데요, 근데 지인에게 물어보니 이런 특징은 그닥 필요없고 걍 0벡터는 마스킹해서 처리하는것같기도 합니다.

$$tanh(W_{s1} H^T)$$

지금 상태가 $d_a$ 차원 벡터의 나열로 되어있죠. 여기에 *벡터* $\mathbf{w_{s2}}$를 다시 곱합니다. 이렇게하면 결과로 길이가 n인, 즉 단어수와 같은 길이를 갖는 벡터가 나오게 됩니다. 이 벡터도 학습이 필요한 weights입니다.

$$W_{s2}tanh(W_{s1} H^T)$$

마지막으로,  softmax를 적용해서 이 전체 합이 1이 되도록 합니다. 이 결과가  $a$ 입니다. 논문의 식 (5)입니다.

$$a = softmax(W_{s2}tanh(W_{s1} H^T))$$

이렇게 하면 a라는 벡터가 나오죠. 이 벡터는 히든유닛의 나열인 $H$에 element-wisely 곱해질거에요. 그 결과 히든유닛의 나열은 해당 작업의 '중요성'이 반영된 representation이 됩니다.

그런데, 목적에 따라 각각 다른 단어에 집중(attention)할 필요가 있습니다. 따라서 $a$같은걸 여러개 구해야해요. 논문의 표기로는 $r$개를 구하게 됩니다. 그러려면  *벡터* $\mathbf{w_{s2}}$ 대신에  *행렬* $W_{s2}$을 적용하면 됩니다. 그 결과도 행렬 $A$가 나오게 되구요. (식 (6))

길게 풀어썼는데, 논문에서 사실 간단히 요약합니다. 식 6은 바이어스가 없는 레이어 2개짜리 MLP를 적용한거라구요.


최종적으로, 이 가중치, 혹은 attention 행렬을 적용한 결과로 우리는 sentence embedding 행렬을 얻습니다.  $A$는 $r$-by-$n$, $H$는 $n$-by-$2u$ 행렬인데, 따라서 이를 곱한 결과는 단어수에 관계없이 $r$-by-$2u$ 크기의 행렬이 됩니다.

$$M = AH$$

식 (6, 7)은 M이 무의미한 값을 학습하지 않도록 regularise하는 내용입니다.

<모델 전체>

식을 보고나면 그림 1이 잘 이해가 됩니다. 지금까지 설명한 과정으로 $ M$을 구했고 여기에 fully-connected layer가 붙는군요. 최종적으로는 sentiment analysis작업을 수행합니다.




attention을 그대로 원래 단어에 적용하면 모델이 어떤 단어를 보고 작업을 수행하는지 잘 알 수 있습니다.



그 외의 실험 결과와 다른 내용은 논문을 직접 참고하시길 바랍니다.


독서 - 김영미 - 세계는 왜 싸우는가?

체첸, 이스라엘/팔레스타인, 파키스탄, 아프가니스탄, 동티모르... 책이 발간된 2011년에도, 현재에도 지구 여기저기에서는 전쟁이 일어나고있습니다. 두말할나위없이 비인간적인 일이지요. 왜 싸우는걸까요? 이 질문에 아주 무성의하고 정확하게 대답할 수 있습니다. 영토, 돈, 욕망때문이죠. 그러나 20세기 말, 21세기 초에 일어나고 있는 전쟁과 갈등에 좀 더 촛점을 맞추자면, 20세기 초중반이후 서구의 강대국들이 식민지와 제국주의를 포기하면서 똥을 싸놓고 갔기 때문이죠. 물론 해방 직후의 독재자가 조연으로 등장하기도 합니다.

왜 싸우는지는 단순합니다. 다만 이렇게 많은 나라가, 이렇게 처참하고 비인간적으로 싸우고 있다는 것을 상기하는 측면에서 읽어보기를 권합니다. 내용상으로는 약간의 비약이나 왜곡이 있을 수도 있습니다.

사실, 남북한이 대치중인 우리나라 상황도 크게 다를것 없지않나합니다. 

Wednesday, August 1, 2018

독서 - 강원국 - 대통령의 글쓰기:

대통령의 글쓰기는 국민의 정부와 참여 정부시절 청와대에서 연설문을 쓰던 강원국씨가 쓴 책입니다. 그런데 제가 기대한 내용과 달리 주로 두 대통령 아래서 연설문을 쓰며 겪은 일을 적은 수기에 가까운 책이네요. 흥미위주로 읽기엔 좋습니다. 책 관련 신문기사를 길게 늘인 내용이라고 보시면 되겠습니다. 

따라서 귀찮으시면 그냥 신문기사를 몇 개 검색해서 읽고 끝내도 괜찮습니다. 글쓰기나 연설문에 관심이 있는 사람이 꼭 봐야할 책은 아닌것같고, 오히려 김대중 대통령과 노무현 대통령에 관심이 많다면 재미있게 읽을듯 합니다. 

실제로 책을 산사람들도 대부분 같은 이유로 샀을것같네요.


독서 - 당신들의 대한민국 2

당신들의 대한민국 2는 박노자의 첫번째 책 <당신들의 대한민국>과 크게 다르지 않습니다. 책도 2006년 1월에 나왔으니 1편이 나온지 5년 뒤에 나온 셈인데, 2018년 중순의 시점에서 보면 2001년이나 2006년이나 비슷하죠. 물론 참여정부에서 이명박정부로 정권이 바뀌는 등 차이가 있었습니다만요.

2편의 네가지 주제 대략 -권위주의 -종교 -대학 -병영국가 대한민국 -민족주의 -북한 -진보 입니다. 전체적인 감상평은 1편과 비슷하니 지난 포스트를 참고하셔도 좋습니다.

저자가 학생 및 교수로서 대학교에 오래 있다보니 1편과 마찬가지로 대학 이야기가 제법 나오는데, 안타깝게도 최근에 나온 웹툰 <슬픈 대학원생의 초상>에서 그리는 최근 한국 대학원의 현실과 크게 다르지 않더군요.

1, 2편 모두 두껍지 않아서 같이 사서 읽으셔도 괜찮습니다. 알라딘, 예스24등 중고 서적으로 사면 두 권에 만원도 안하네요.


Tuesday, July 31, 2018

독서 - 샐린저 - 아홉가지 이야기

<호밀밭의 파수꾼>으로 유명한 작가 샐린저의 단편집 <아홉가지 이야기>를 읽었습니다. 말 그대로 아홉가지 단편 소설 모음입니다. 전부 읽지는 못했고, <바나나 피시를 위한 완벽한 날>, <코네티컷의 비칠비칠 아저씨>, <에스키모와의 전쟁 직전>, <웃는 남자>, <작은 보트에서> 이렇게 다섯개를 읽었네요.비문학, 특히 기술 관련 문장을 주로 읽다가 가끔 문학 작품을 읽으면 초반 몇페이지동안 문장의 유려함이 주는 생경함에 놀랍니다. 또 습관적으로 번역이 잘 된걸까, 원문은 뭘까 생각하기도 합니다.

제가 읽은 작품 다섯개는 모두 혼란스러운 20세기 초중반 미국의 분위기를 일관적으로 담고 있습니다. 그렇다고 사회적인 맥락에서 주제를 다루는 것은 아니고 오히려 굉장히 개인적인, 다소 우울하고 이상한, 심지어는 섬뜩한 일상에 대한 이야기입니다. <웃는 남자>가 특히 좀 그랬네요.

책을 선물해주신 분께 다시한번 감사인사를 드립니다 :)


Saturday, July 21, 2018

독서 - 황석영 - 강남몽

한국 드라마를 보다보면 대놓고 사투리를 엉망으로 구사하는 배우들이 참 많이 나온다. 사람들은 그냥 참아준다. 시청자는 연기에 몰입해 배역과 상황을 이해하는것이 아니라 못난 사투리를 들으며 작가의 의도를 파악해주고 넘어간다. 그러려니.

황석영의 <강남몽> 30여페이지를 읽었다. 1995년 한국을 배경으로 대략 '졸부' 여성들의 삶을 대화로 보여준다. 아, 아주 나쁘진 않지만 아무래도 아저씨말씨가 섞인 아줌마들의 대화를 이해해주고있던차에 "내가 오늘 마싸지 한 턱 쓴다"라는 대사가 나왔다. 아 뭐.. 사실 1995년의 40대 여성의 말투를 나도 모르니까 그러려니 했는데, 역시 1995년의 마싸지샵이 어떻게 돌아가는지 모르긴 마찬가지긴 하다만, 맛사지는 보통 10회권같은거 끊고 가지않나? 더군다나 이 아주머니들은 1주일에 몇 번씩 맛사지받는 사람들인데?

이쯤까지 읽고 지하철에서 내렸는데 그날 만난 한 친구분이 샐린저의 <아홉가지 이야기>를 선물로 주셔서 나도 답으로 <강남몽>을 드려버렸다. 끝.

Tuesday, July 17, 2018

미국 O-1A 비자 신청 과정 정리

개인적인 기록 목적을 겸하여 O-1A 비자 신청과정을 간단히 정리했습니다. 시간 역순이니 참고하시길. 

  • 7/19 (목) 비자 수령
    • 비자 수령 완료. 
  • 7/17 (화) 미국대사관 인터뷰.
    • 필요했던 구비서류: I-797 (approval notice), interview confirmation page, DS-2019 confirmation, passport, 
    • 사진: 검토는 했는데 다시 돌려줌
    • 나머지 (resume, offer letter): 전혀 필요없었음
    • 인터뷰 내용: “Spotify애서 일하냐? 무슨 하냐? 언제 어떻게 그런 기술을 익혔냐? 서류에 머신러닝 어쩌구 써있는데 머신러닝이 뭔지 설명해볼래?”
    • 고지내용과 달리 일반적인 백팩정도는 가져가도 .
    • "이번주 안에 받을거다"라고 알려줌!
  • 7/13 택배 수령 (1)
    • 대사관에서 이메일 와서 일양택배로 찾으러감
    • 열어보니 인터뷰 대상이 아니라고 인터뷰 예약하라고 (제길)
    • 가장 빠른날이 8/6()라서 좌절
    • emergency request 회사 내부 사정과 컨퍼런스 참석이 있어서 8 첫째주에 가야하고 따라서 빠른 인터뷰 예약이 필요하다고 아래처럼 적어서 보냄. offer letter 첨부함. 
* Disclaimer: I am not a student or an exchange visitor *

Dear Officer, 
A technical conference in which I am presenting is due in the first week of August in New York, Spotify, where I work. Since the U.S. Embassy website page showed me that I was exempted for an interview last week, I calculated last week of July would be possible. I would therefore very much appreciate if you could consider me for the emergency service the interview.  

As shown in the attached document, my employment contract with Spotify was signed on March 6th, 2018, for which I need to be located in New York and I have been working to obtain a O1 visa ever since.  

    • 몇시간 뒤에 승인 메일이 와서 7/17 예약함
  • 7/10 택배로 서류 보냄
    • 인터뷰 면제 확인서, resume, passport, photo, ds-2019 confirmation 보냄
    • I-797 안보냄! (아직 스캔본을 못받아서)
  • 7/6 비자 인터뷰 신청
    • 온라인에서 마무리하고 돈도 내고 등등 .
    • 신청을 마무리했더니 비자 면제 대상자라고 .
  • 7/6 O-1A visa approved
    • USCIS에서 드디어 비자 신청을 승인! 했다고 변호사에게 연락받음
  • 6/23 추가 서류 송부
    • “We received a very basic request for information from the government, and will respond to the request today or by Monday”
  • 6/9 O-1A petition 제출!
    • Filing the petition via premium processing
    • 분량: 16페이지
  • 5/25 변호사가 petition 초안 완료
    • 향후: 자기들이 리뷰내가 리뷰회사가 리뷰제출
  • 4/20 5/6 추천서 패스
  • 4/19 4/6 추천서 패스
  • 4/18 추천서 2/6, 3/6 패스
  • 4/13 추천서 1/6 패스
  • 3/23부터 계속: 교수들에게 답변 받음.
  • 3/17 추천서 작성에 필요한 질문양식 받음
  • 3/14 기초적인 정보 (미국방문이력 몇가지 질문) 답변
  • 3/10 로펌에서 petition application 관련 연락 받음

독서 - 박노자 - <당신들의 대한민국>


저자 박노자는 꽤 특별한 이력을 가진 사람이다. 러시아에서 태어나 한국학을 전공하고 고려대학교로 교환학생도 왔었다. 러시아에 있을때 이미 한국의 역사와 전통 문화에 깊은 관심을 가졌다. 이후 한국에 와서 한국사람과 결혼하고 한국으로 귀화했다. 현재는 노르웨이 오슬로대학교에서 한국학 교수로 일하고 있다. 지금은 온갖 국적과 인종의 사람들이 한국에 와서 살고 유창한 한국말을 하며 예능프로에 나오지만 박노자가 한국에 처음 온 90년대 말, 이 책을 쓴 2001년에 박노자같은 사람은 매우 드물었다. 요즘 타일러같은 사람들이 한국사람보다 더 한국말 잘하는 외국인(서양인, 백인;;)으로 유명하지만 일찍이 박노자가 있었던 셈이다.

(내가 꼬꼬마이던) 2001년에 러시아 출신, 문과, 대학원생의 시각으로 보는 한국이 재미가 쏠쏠하다. 나는 종종 한국의 ‘빨리빨리’나 ’냄비근성’을 예찬한다. 빨리빨리 대응하고 중요한 이슈에 일순간이나마 확 관심이 쏠린 덕분에 한국은 엄청나게 빠른 발전을 이뤄냈다! 경제적인 측면만 이야기하는것이 아니다. 2001년과 2018년의 한국은 동성애, 양심적 병영거부, 페미니즘 등 여러 방면에서 참 다르다. 교수도, 학교도, 대학원생도 많이 달라졌다. 인종주의는 아직 갈길이 멀지만 본격적인 논의가 벌어지고있다. 군대도, 사회에서 군대 문화를 대하는 방식도 달라졌다. 사대주의는 줄었고 한국인은 보다 당당해졌다. 우리는 민족주의에 대해서도 나름대로 ‘쿨’해졌다. 2001년의 박노자의 예측과 희망사항이 어떻게 되어나 복기하는 재미가 쏠쏠한데, 한국의 발전이 미미했다면 쏠쏠보다는 씁쓸할것이다.

씁쓸한 부분도 있다. 박노자는 언론이 교수에게 주는 거대한 발언권을 지적한다. 이는 이제 일반 대중에게도 널리 알려진 문제다. ‘서심곽교’(서울대 심리학과 곽금주 교수)나 숭실대학교 배명진 교수같이 너무너무너무너무너무너무너무너무너무너무너무 너무너무너무 너무너무너무너무너무 인터뷰를 많이 하는 교수들을 차치하고서라도, 우리 사회에서 교수의 의견은 과대평가되어있다는 점은 누구나 공감할것이다. 안타깝게도, 나는 2001년에 박노자가 가지고있던 문제의식에 정확히 동의하는 바이다. 촛점을 명확히 하자. 이 점은 교수의 문제라기보다 언론의 문제다. 그리고 내가 볼 때 지난 10-20년간 가장 발전이 더딘 분야가 언론이다. 

아무튼, 너무너무 유명한 책이고, 나온지 오래된 만큼 새롭게 돌이키는 재미가 있는 좋은 책이다.


PS. 책 뒷표지와 책날개에 출판사에서 적어놓은 문구에선 박노자라는 특수한 한국인을 타자화하는 시선이 또렷하게 드러난다. 책 뒷부분에서 상당한 분량을 들여 한국 사회의 인종주의를 지적한다는걸 생각하면 매우 아이러니.


Sunday, July 15, 2018

독서 - 최종렬 - <복학왕의 사회학 : 지방 청년들의 우짖는소리>

대구 소재의 계명대학교 사회학과 최종렬 교수의 최신작. 최종렬 교수는 기안84의 만화 "복학왕"을 보고 웃퍼하다가 지방대생의 삶에 대해 본격적으로 연구해보기로 결심함. 연구를 토대로 작성한 논문이 언론에 실리면서 관심을 받았고 아예 더 깊히 연구하게 되었고 그 결과로 나온 책이 <복학왕의 사회학>. 시사in 기사에 책 내용이 잘 소개되어있음.

간접 체험으로서도 적절했고, 연구 내용도 매우 훌륭하다. 지방대 재학생, 졸업생, 지방대생 부모 - 총 3개 유형의 사람들을 1:1로 인터뷰하였고 이를 해석을 덧붙여서 재구성하였다. 이런 연구 방식이 인문학에서는 널리 쓰일텐데 나에겐 생소한지라 방법론도 흥미로웠다. 인터뷰라는게 인터뷰어의 역량에 크게 좌우되게 마련이라 최종렬 교수의 인터뷰 능력이 더욱 돋보인다. 그리고 직접인용을 적극적으로 사용한 기술방식이 빛을 발한다.

재미있게 읽은 부분을 하나 소개하고 포스팅을 마무리한다. 연구의 결론 중 하나는 지방대생에게 공통적으로 "성찰적 겸연쩍음"이 나타난다는 것이다.

---
 왜 이렇게 민주는 운동을 추구하는 방식에 성찰적 겸연쩍음을 지니는 것일까? 그것은 민주가 속한 조직의 운동 스타일 때문이다.
 "제 생각에 그런 힘은 조직에서 오는 것 같아요. 제가 속한 조직은...... 더 낮게 알아주는 게...... 얼마 전에 조직 의장님이 돌아가셨는데 의장님의 그게 에, 더 낮게 더 이름 없이 이런걸 유언처럼 평생을 사신 분이셔서 우리도 그걸 좀 본받자. 우리 조직 자체가 그런걸 좀...... 그런 게 조직의 힘이 아닌가 싶긴 해요."
 왜 운동하는 사람이 마치 성직자처럼 왼손이 하는 일을 오른손이 모르는 방식으로 운동하는가? 남을 변화시키는 것이 운동이라면, 운동가는 자신을 선동하고 선전에 능한 운동가로 자기계발해야 하지 않겠는가? 하지만 그렇게 하지 않는다. 왜? 그건 평범하게 살아온 습속에 맞지 않는다. 남들처럼 직장도 안 갖고 결혼도 안 하고 20-30대 청춘을 운동에만 바쳐왔는데. 어떻게 이런 삶이 가능했냐고 묻자 더듬거린다.
 "그냥 자연스럽게 이까지 흘러온 게 아닌가 이런 생각도 들고...... 살면서 대학 들어오기 전까지 그렇게 충격적인 것도 별로 없었고요. 누가 그렇게 뭐...... 세월호 유가족이 된 것도 아니고...... 진짜 그냥 평범하게만 살아온 것 같아요. 그런......"
  중고등학교 시절 평범하게 살았다고 했는데, 그 의미가 뭐냐고 묻자 답한다.
 "학교에서 공부를 아주 잘하는 건 아닌데 아주 못하는 것도 아니고 항상...... 중간 정도보다 약간 잘하는 건 유지하고."
 사회운동도 아주 잘하는 것도 아니고 아주 못하는 것도 아닌 중간 정도보다 약간 잘하는 게 습속에 맞는다.
---

복학왕의 사회학 (논문) | 복학왕의 사회학, 2018, 최종렬, 오월의 봄 (네이버 책) | "지방 청년도 다른 세계 꿈꿔야" 시사in 기사