인공 지능은 컴퓨터과학 영역에서 가장 있어보이는 분야다. 공학과 인문학, 수학과 생물학, 여러가지 영역을
조합하고 짬뽕하고- 자연(natural)보다 인간(human)에 초점을 맞추어서 연구되고 개발되고 있는 분야랄까... 하지만 몇십년의
역사에 불구하고 아직까지 공상과학에서 나오는 것과 같은 인공지능은 나오지 않고 있다.
인공 지능의 한 분과로서 기계 학습 분야가 있다. 기계 학습은 ‘인간은 주어진 자료로 부터 패턴을 학습한다.’ 라는 가정에 기반하고 있다. 컴퓨터가 수학에서 기반해서 그런지 몰라도, 수학에서 많은 자료로부터 새로운 공식을 추론하는걸 생각하면 된다. 사실 인간이 학습을 한다는 것은 여러가지 가설이 있을 것이다. 그 중에서 자료로부터 패턴을 찾는 것- 그것에 초점을 맞추어서 연구되고 있다.
기존의 기계 학습;machine learning 방법 (especially, supervised learning) 은 label 되어 있는 데이터에 기초하여 학습을 진행한다. 요컨데 답지가 존재하는 문제지를 학생에게 던지면, 문제를 풀면서, 틀리면서, 수정하면서, 점점 ‘진실’에 가까운 지식이 습득하는 과정을 프로그램으로 구현한다. 그러므로 양질의 학습 데이터를 구축하는 것이 중요한 문제이며, 이를 해결하기 위한 cost가 상당히 크다. 만약 문제지를 샀는데 문제 수가 10문제다, 그리고 정답이 잘 못 나와있다, 그러면 문제지가 틀리다는 가정을 하지 않는 학생으로서는 대처할 방법이 없다.
여하튼, 위와 같은 방법을 passive learning 이라 부르며1, 이에 대한 대안적 방법으로 active learning이 존재한다.
Active learning은 답을 보지 않는, 적극적인 학생을 프로그램으로 구현한 것이라 생각된다. 먼저 답지가 없는 상태에서 문제를 쭉 훓어본다. 문제 자체를 분석해서 나름의 논리체계를 구축한 다음, 그 체계가 맞는지 틀린지를 알 수 있을 만한 중요한 문제를 정리한다. 그 문제에 대해서 답안을 요청한다.
정리하자면, active learning은 자기 주도 학습법을 실현하며, 교사에게 질문을 당당하게 하는 아주 그냥 모범적인 학생인 것이다.
CACM에 기고된 글2에 따르면 active learning은 다음과 같은 process를 거친다.
기존의 방법이 하나부터 열까지 알려줘야 되었다면, active learning은 하나만 알려주면 열을 알 수 있을 것이다. (왜냐면 9는 자기 머리속에서 구축하고 10을 완성하기 위한 1을 교사에게서 얻기 때문이다.)
실제로도 수무고개와 비슷하게 학습에 필요한 데이터를 폭발적(exponentially)으로 줄일 수 있다고 한다.
언젠가 한번 공부해보고 싶은 분야.. practical하게 써먹기도 좋을 것 같다. (좋은 데이터만 있으면 실험이야 쉬울테니.. 실험이 쉬운건 컴퓨터 분야의 최대 장점! 돈이 덜든다! ㅋㅋ)
인공 지능의 한 분과로서 기계 학습 분야가 있다. 기계 학습은 ‘인간은 주어진 자료로 부터 패턴을 학습한다.’ 라는 가정에 기반하고 있다. 컴퓨터가 수학에서 기반해서 그런지 몰라도, 수학에서 많은 자료로부터 새로운 공식을 추론하는걸 생각하면 된다. 사실 인간이 학습을 한다는 것은 여러가지 가설이 있을 것이다. 그 중에서 자료로부터 패턴을 찾는 것- 그것에 초점을 맞추어서 연구되고 있다.
기존의 기계 학습;machine learning 방법 (especially, supervised learning) 은 label 되어 있는 데이터에 기초하여 학습을 진행한다. 요컨데 답지가 존재하는 문제지를 학생에게 던지면, 문제를 풀면서, 틀리면서, 수정하면서, 점점 ‘진실’에 가까운 지식이 습득하는 과정을 프로그램으로 구현한다. 그러므로 양질의 학습 데이터를 구축하는 것이 중요한 문제이며, 이를 해결하기 위한 cost가 상당히 크다. 만약 문제지를 샀는데 문제 수가 10문제다, 그리고 정답이 잘 못 나와있다, 그러면 문제지가 틀리다는 가정을 하지 않는 학생으로서는 대처할 방법이 없다.
여하튼, 위와 같은 방법을 passive learning 이라 부르며1, 이에 대한 대안적 방법으로 active learning이 존재한다.
Active learning은 답을 보지 않는, 적극적인 학생을 프로그램으로 구현한 것이라 생각된다. 먼저 답지가 없는 상태에서 문제를 쭉 훓어본다. 문제 자체를 분석해서 나름의 논리체계를 구축한 다음, 그 체계가 맞는지 틀린지를 알 수 있을 만한 중요한 문제를 정리한다. 그 문제에 대해서 답안을 요청한다.
정리하자면, active learning은 자기 주도 학습법을 실현하며, 교사에게 질문을 당당하게 하는 아주 그냥 모범적인 학생인 것이다.
CACM에 기고된 글2에 따르면 active learning은 다음과 같은 process를 거친다.
- unlabeld된 데이터를 input으로 받는다.
- 데이터를 분석하여 label을 알 경우 가치가 높은 data를 선택한다.
- 해당 data에 대한 label을 전문가에게 요청한다.
- label 간을 구분하는 논리체계의 윤곽이 드러난 후에, label간에 구별하기에 햇깔리는 문제들의 label을 전문가에게 요청한다.
기존의 방법이 하나부터 열까지 알려줘야 되었다면, active learning은 하나만 알려주면 열을 알 수 있을 것이다. (왜냐면 9는 자기 머리속에서 구축하고 10을 완성하기 위한 1을 교사에게서 얻기 때문이다.)
실제로도 수무고개와 비슷하게 학습에 필요한 데이터를 폭발적(exponentially)으로 줄일 수 있다고 한다.
언젠가 한번 공부해보고 싶은 분야.. practical하게 써먹기도 좋을 것 같다. (좋은 데이터만 있으면 실험이야 쉬울테니.. 실험이 쉬운건 컴퓨터 분야의 최대 장점! 돈이 덜든다! ㅋㅋ)
댓글을 달아 주세요
태그와의 훌륭한 매치 'ㅅ')=b
예전에 읽었던 기사 중에 포스팅된 것과 비슷한 분야의 프로그래밍론이 있었는데, 비행기 날개의 최대의 성능을 끌어내는, 역학적 디자인을 설계하는 내용이었는데... 쓰다보니 길어지네. 집에 있으니 원한다면 서울집에 가져다주겠네. 'ㅅ' 암튼 컴퓨터가 스스로 진화한다는게 포인트였지비. 인공지능 분야의 칼럼이나 이런 포스트들을 읽으면 좀 섬뜩해진단 말이야. 인공지능은 뭐랄까, 생물학에서의 생명복제 내지는 창조의 느낌? 건드려서는 안되는 분야인것 같은데 그래서 더 호기심을 자극하기도 하고... 하여튼 난 반댈세! (응?)
글을 쓸때에 언제나 가장 고심하는게 태그라죠 ㅎㅎ
책 가져다주세연 ㅋㅋㅋ
근데 컴퓨터공학이라는게 수학에 기반을 두고 있어서 그런지..
애매한 문제에 너무 약한거 같아여..
인간같이 대책없이 사는 프로그램은 없어서 그런지,
아직 인공지능은 먼~먼~ 미래의 이야기 같아여 ㅎㅎ
비밀댓글입니다