딥러닝으로부터 배우는 교육론[이경전의 행복한 AI 읽기](9)
초·중·고 시절 친구를 오랜만에 만났는데, 만나자마자 반갑다며 등을 세게 내려친다. 그런데 사실 며칠 전 등의 작은 혹을 떼어내는 수술을 했던 터라 너무 아팠다. 맞은 사람은 어떻게 행동해야 할까? 오래간만에 만난 죽마고우에게 화를 내야 할까? 아니면 친구는 모르고 한 일이니 참았어야 할까? 우리 인간의 신경세포는 매 순간 이런 의사결정을 한다. 외부의 자극에 대해 반응할 것인지 말 것인지 결정한다. 이것을 ‘태도’라고 한다. 태도란 자극에 대한 반응 양식이다. 학습이란 태도의 변화다. 성과가 경험에 따라 향상되는 방향으로 기계가 태도를 변화할 경우, 그 기계는 학습한다고 정의할 수 있다.
현재 인공지능의 대표적인 방법론인 딥러닝은 자극에 대한 반응을 목표에 가까워지도록 학습하는 방법론이다. 인체에는 약 1000억개의 신경세포가 있고 서로 연결돼 있는데, 연결선은 약 100조개에서 1000조개가 있다고 한다. 신경세포는 다른 신경세포들로부터 신호를 받아들여 그것을 합한 이후에 그것에 대해 어떻게 반응할지 내부적으로 결정한 이후, 그 결과를 다른 신경세포들로 전달한다. 동물의 신경망에 영감을 받아 단순화하고 수학식으로 만든 것을 ‘인공신경망’이라 하고, 이를 겹겹이 쌓아 학습시키는 방법을 ‘딥러닝’이라 한다.
‘0 아니면 그대로’ 방식은 잘한 만큼 칭찬
어떤 자극에 대해서 인공신경세포가 어떻게 반응하게 하면 좋을까? 1980년대에는 주로 S자 모양의 함수를 썼다. 아주 큰 자극이라도 1을 출력하고, 기준에 못 미치는 자극에 대해서는 0을 출력하는, 즉 무반응하는 형태다. 친구가 등을 때렸을 때, 몹시 아프더라도 화를 최대 1 정도만 내는 것이다. 애매할 때는 0.5라는 숫자를 내고, 안 아프면 0에 가까운 숫자를 출력한다. 매우 좋거나 매우 나쁜 행동에 대한 구분이 명확하지 않아 밋밋한 처벌과 보상이 될 수 있는 것이다. 이 방식은 2000년대에 들어서 ‘0 아니면 그대로’ 방식으로 대체됐다. 이는 1960년대에 이미 일본의 후쿠시마 구니히코(오늘날 시각 인공지능에 가장 많이 사용되는 콘볼루션 신경망의 효시가 된 네오코그니트론을 1970년대에 이미 연구 발표한)가 사용했던 방식인데, 2010년대 들어 비로소 널리 인정됐다.
‘0 아니면 그대로’ 방식은 부정적인 자극에 대해서는 0을 출력하고, 긍정적인 입력에 대해서는 입력값을 그대로 출력하는 방법이다. “혼내지 않되, 칭찬은 비례해서 해라”는 격언에 비유할 수 있다. 부정적인 행동에 대해서는 혼내지 않고, 긍정적인 행동에 대해서는 그 성과에 비례해, 즉 잘한 만큼 칭찬해주는 방식이다. 부정적인 행동에 대한 교정이 이루어지지 않아 잘못된 행동을 수정하는 데 한계가 있을 수 있지만, 긍정적인 행동에 대한 강화가 명확하게 이루어진다는 장점이 있다.
‘0 아니면 그대로’는 신경망이 층층이 쌓여 있는 딥러닝에서 효과적으로 작동한다. 인간 교육에 적용한다면, 즉자적 반응을 기대하는 교육이 아닌 장기적인 성과를 기대하는 교육을 위해서는 되도록 “혼내지 않되, 칭찬은 비례해서 해라”는 원칙이 필요할 수 있다는 것이다. 예를 들어 아이들의 장기적 성장과 성과를 위해서는 하루하루의 일거수일투족에 대해서 행동 교정을 위해 혼을 내기보다는 잘한 행동, 칭찬받을 행동에 대해서만 잘한 정도 만큼에 비례해서 칭찬하는 방법이라 할 수 있다. ‘0 아니면 그대로’는 성적이 떨어지면, 그냥 못 본 체하고 성적이 올랐을 때만 오른 만큼 칭찬하고 보상하는 방식이다. 성적이 오르고 내릴 때마다 상과 벌을 반복하는 방식보다 더 나은 교육 방법일 수 있다.
랜덤 끄기 기법은 간단하지만 효과 막대
딥러닝에서 또 하나 중요한 기법이 랜덤 끄기(Dropout)다. 이 기법은 매우 간단하지만 효과는 막대하다. 학습 과정 중에 인공신경세포를 랜덤하게(무작위로) 끄는 방법인데, 끄는 비율은 50%에 육박한다. 학습시킬 때 신경세포는 입력 데이터에서 어떤 특징을 감지하는 역할을 하는데, 특정 입력 패턴에 지나치게 의존하게 되면 모델은 훈련 데이터에만 너무 잘 맞춰지고 새로운 데이터에는 잘 작동하지 않게 된다. 랜덤 끄기는 이 문제를 해결하기 위해 학습 과정에서 무작위로 일부 세포를 비활성화한다. 이렇게 하면 신경망은 일부 정보가 사라진 상태에서도 출력을 만들어내야 하므로, 신경세포 간의 과도한 의존성이 줄어들고 보다 독립적으로 정보를 처리하는 법을 배우게 된다.
큰 프로젝트를 수행하고 있는데, 갑자기 팀원 중 일부가 휴가를 가버렸다고 생각해 보자. 남은 팀원들이 부재중인 팀원의 일까지 처리해야 되므로 각 팀원은 자신의 업무 범위를 넓히고, 다른 사람의 일을 처리하는 방법도 배우게 된다. 프로젝트가 끝날 때쯤이면, 이 팀은 더욱 유연하고 어떤 상황에서도 대처할 수 있는 능력을 갖추게 된다. 랜덤 끄기도 비슷한 원리로 작동한다.
랜덤 끄기는 다양한 경험을 해보는 것과 유사하다. 교육에서의 ‘역할 놀이’로 볼 수 있다. 학생들이 그룹 프로젝트를 수행하면서 역할을 자주 바꿔가며 경험해보게 하면, 프로젝트의 모든 부분을 이해하고 한 사람에게만 의존하지 않도록 함으로써 팀 전체의 성장과 개인의 재능 개발을 도모할 수 있다. ‘랜덤 끄기’는 “하나에 의존하지 않고, 다양한 것을 시도해보는” 것의 중요성을 상기시켜 준다. 인공신경세포가 100개인 신경망을 랜덤 끄기 방식으로 학습하면, 학습 단계를 거칠 때마다 켜지고 꺼진 세포가 랜덤하게 다른 신경망을 학습하는 셈이 되므로, 결국은 2의 100제곱(약 10의 30제곱)에 해당하는 다양한 모습의 신경망을 대표하는 일반화된 신경망을 만드는 격이 된다. 즉 우리가 평소에 랜덤 끄기의 방식으로 개인과 집단을 학습시키면, 매우 다양한 상황에 적응할 수 있는 지능적 개체를 만들 수 있다는 시사점을 준다.
이경전 경희대 경영학과·빅데이터 응용학과·첨단기술 비즈니스 학과 교수
Copyright © 주간경향. 무단전재 및 재배포 금지.