0928 Artificial Curiosity
또 저녁먹고 헤롱헤롱 하다 결국 누웠는데 모기소리에 깨서 모기잡으려고 일어났다가 신문기사 읽음. 모기의 행방은 아직 묘연하다.
Clever Machines Learn How to Be Curious
그제인가 올린 information bottleneck과 시리즈 기사이다.
강화학습의 loss를 curiosity로 주겠다는 얘긴데, 이렇게 하면 extrinsic goal을 주지 않아도 스스로 학습이 가능해지는 장점이 있다. 그러니까 게임이라고 하면 점수를 높게 따는 쪽으로만 학습하는 것이 아니라, 자신의 예측이 틀린 방향을 계속 expoler하도록 설계한다는 얘기.[1] 자연스럽게 잘 안죽게 된다. 죽으면 탐험을 못하니까. 그래서 자신의 예측과 틀린 방향으로 더 reward를 준다는 얘긴데(이런 reward를 주는 module을 ICM이라고 부르는 듯. intrinsic curiosity module) 기사보니 이걸 예전(10년넘게!)부터 연구하던 사람들이 몇 있었나보다.
Youtube영상을 보면 수퍼마리오 말고 둠으로도 실험해본 것이 있는데 꽤나 잘한다. ‘내가 모르는 것이 무엇인지 알아내는 것’을 loss로 줘서 unsupervised로 만들다니. 놀라운 사람들이다. 사람이름이랑 소속이 다 나오니 관련연구자들은 영상보고 paper보면 간단할 듯.
White noise같은 환경(‘Novelty trap’)에서는 항상 예측하기 어려운 모양이 나오므로 거기서 학습이 더 이상 진행이 안되는 현상이 있는데 그걸 해결하려고 ‘나와 관계 있는 환경’에만 반응하도록 하기도 하고, feature도 좀 더 추상화하고 하나보다. (①아이디어야 쉽지, 이런걸 실제로 구현하고 확인하는게 일인데 부지런도 하다. ② task-related feature는 지금도 이미 되고 있지 않을까 하는 의문이 있다. classification에서 학습하고 나면 target class들만 구분할 수 있지 않나. 그럼 이미 task-related feature아닌가. embedding같은거라면.. 이건 좀 묘할 수 있겠다.) 이 문제 말고도, 매우매우 어려운 문제를 만나면 아예 해결이 불가능하다고 결론 내리고(=‘아는 영역’이라고 결론 내리고) 더이상 진행하지 않는다는 이야기도 나오는데, 이건 ‘안다/모른다’를 도대체 이 agent가 어떻게 확실히 확정하는지 모르는 상태에서는 이해가 힘들것 같다.(threshold로 그냥 자르지 않을까 싶다.)
기사 말미에 AI is often informally defined as “whatever computers can’t do yet.” 이렇다는데 동의 ㅎㅎ.
마리오 게임 에뮬레이터가 공개된 것이 있는지 나중에 시간나면 찾아봐야겠다고 말만 하고 이런게 있었는지도 까먹겠지.
- ↑ 기사에 보면 사람의 실제 학습과정에 대해 말하면서 ‘아이들이 세계에 관해 모델을 세우고 그 모델이 틀린 경우 더 그쪽으로 학습을 진행한다’는 이야기가 나오는데 그거 완전 boosting아니냐.
어쨌건 신기하다. 그걸로만 학습이 된다니.