'<쫄지말자 딥러닝> 데이터의 관점에서 바라보는 인공지능' 후기

데이터 여행자·2021년 1월 21일
0
post-custom-banner
  • 이 후기는 필기를 하지 못해 기억에 의존한 것으로 부정확한 용어나 설명이 포함될 수도 있습니다. 최대한 기억을 살리고, 부족한 정보는 검색을 통해 채우겠습니다.

1월 20일 저녁 7시 반부터 2시간 동안 김승일 연구소장님께서 인공지능에 대한 벙개 강연을 하셨다. 주제는 '데이터의 관점에서 바라보는 인공지능'이었다. 참여 대상은 '인공지능이 너무 어려우신 분. 하나하나 이론은 알지만 인사이트가 부족하신 분'이라고 쓰여 있었다. 프로젝트 제출 날짜가 하루 뒤라 조금 부담스럽기는 했지만, 그 2시간동안 얼마나 할까 싶어서 줌에 접속했다.

무슨 문제가 있었는지, 중간에 구글 밋으로 장소를 옮겨 강연을 시작했다. 우선 인공지능에 대한 전반적인 이야기를 하신 후, 데이터에 대해서 자세하게 설명하셨다. 데이터는 크게 4가지로 분류되는 것 같다.

  • paired data
  • unpaired data
  • 정답이 없는 데이터
  • 내가 가지고 있는 paired data

우선 paired data 는 정답이 있는 데이터이다. 예를 들어서 (고양이 이미지, 고양이)와 같이 input에 대한 output이 짝을 지어서 있는 경우이다. 이 데이터는 무조건 supervised learning을 해야 한다고 한다. 강화학습을 할 수도 있지만 별로 좋은 방식은 아니라고 한다.

unpaired data 는 정답이 있지만, paired data처럼 일대일로 대응되는 것이 아니라 입력과 정답이 묶음으로 존재하는 것을 말한다. 이에 대한 예로 연구소장님께서는 말을 얼룩말로 바꾼 영상을 보여 주셨다. 특정한 말에 대한 비디오와 똑같은 얼룩말에 대한 비디오는 없지만, 말에 대한 비디오(input)가 많고, 얼룩말에 대한 비디오(output)가 많은 경우가 unpaired data이다. 그 외의 예로 얼굴 사진(input)을 주고 수많은 output 이미지를 준다. 수많은 금발 사진, 웃는 사진, 화난 사진 등을 주면 입력으로 주어진 얼굴 사진을 금발로 바꾸거나 성별을 바꾸거나 표정을 바꾸게 만들 수 있었다. 예상보다 결과물이 자연스러워서 신기했다.

정답이 없는 데이터 의 경우는 강화학습을 한다고 한다. 그 예는 자율 주행이 있다. 강화학습에서 중요한 것은 state, act, reward이다. 어떻게 state를 설정하고, 어떤 act를 입력하고, reward가 무엇이냐에 따라서 인공지능의 성능이 달라진다고 한다. 자율주행과 마리오 게임에서 어떻게 하면 인공지능의 성능이 좋아질지에 대해서 각자 생각할 시간을 주셨는데, 나에게는 어려운 문제였다.

예를 들어 자율 주행의 경우, reward 설정을 '충돌을 하면 -1,000점, 충돌하지 않으면 1,000점을 준다'라고 한다면 인공지능은 자동차를 운행하지 않을 것이고, '충돌을 하지 않고 도착하면 1,000점을 준다'라고 한다면 인공지능은 자동차를 아주 천천히 운행할 것이라고 하였다. state의 경우, 운전해야 하는데 인공지능이 앞을 볼 수 없게 설정을 하면 성능이 떨어지게 될 것이고, act의 경우는 구체적으로 설정해야 한다고 한다. 이에 대한 설명을 자세하게 하셨는데, 기억이 잘 나지는 않아 안타깝다.

강화학습은 게임에서 많이 사용한다고 한다. 강화학습의 경우는 AIFFEL에서 학습하지 않는다고 하니 조금 아쉽다. 예전에 술래잡기하는 영상이나 주차하는 영상을 보았는데, 굉장히 흥미로웠다. 자기들끼리 두뇌 싸움을 하고, 스스로 성장해 나가는 모습이 인상적이었다. 물론 그 동영상은 빠른 배속으로 해서 짧은 시간에 성과를 볼 수 있었지만 실제로 강화학습을 인공지능에게 시키면 시간과 노력이 굉장히 많이 들 것 같다.

참고: hide-and-seek AI, Parking AI

마지막으로는 내가 가지고 있는 paired data 이다. 처음에 제목만 봤을 때는 이해가 잘 안 되었는데, 예로 설명해 주시니 쉽게 이해할 수 있었다. 제일 처음 보여주신 것은 실제로 찍은 사진이었다. 얼마 전에 뉴스에도 나왔던 인공지능이 만든 가짜 인물 사진을 보여주시기도 했다. 가짜 인물 사진은 실제 인물인 것처럼 자연스러웠다.

그 후의 기억이 나는 예는 춤을 잘 추게 만들어 주는 인공지능이었다. 사실 이 영상은 한 달 전인가 유튜브에서 보았었는데, 어떻게 만들어지는지 다시 들으니 확실히 그 원리를 알게 되었다. 우선 춤을 잘 추고 싶은 사람이 자신의 사진을 찍고(source), open pose를 사용하여 몸짓을 잡아낸다. 즉 졸라맨처럼 선으로 사람의 뼈 부분을 그린다. 그 후 target인 춤을 잘 추는 사람의 영상과 합치면 자연스럽게 춤을 잘 출 수 있게 된다. (이에 대한 내용은 여기를 참고하면 된다.)

버클리 대학 연구팀이 개발한 알고리즘을 NVIDIA에서 더 발전시킨 사진도 보여주셨다. NVIDIA에서는 openpose를 3D로 잡아냈고, 연구팀보다 더 자연스러운 영상을 만들었다고 한다.

그 외에도 네플릭스 추천 알고리즘도 내가 가지고 있는 paired data나 google translation 등이 내가 가지고 있는 paired data라고 한다. 대기업들은 서비스를 제공하면서 이런 데이터들을 많이 수집할 수 있어서 일석이조의 혜택을 누리는 것 같다.

각각의 데이터에 대한 예를 각자 생각할 시간을 주셨는데, 생각이 잘 나지 않았다. 사람들이 적은 예나 연구소장님께서 알려주신 예를 보면서 많은 분야에 인공지능이 쓰일 수 있다는 것을 깨달았다.

강연은 재미있었고 많은 것을 생각하게 해주는 좋은 시간이었다. 인공지능을 설계할 때 제일 먼저 고려해야 할 것이 데이터의 종류라는 것도 알았고, 각각의 경우에 있어서 어떤 부분을 고려해야 하는지도 배운 귀중한 시간이었다. 아직은 어떤 데이터에 어떤 방법을 써야 하는지 혼자서는 생각을 잘 못 하지만 이제부터 많은 예를 경험하여 언젠가는 혼자서도 생각할 수 있는 능력을 키울 수 있기를 바란다.

앞으로는 또 어떤 내용을 배우게 될까? 김승일 연구소장님의 다음 강연이 기대된다.

post-custom-banner

0개의 댓글