전문가칼럼

DBMS, DB 구축 절차, 빅데이터 기술 칼럼, 사례연구 및 세미나 자료를 소개합니다.

딥러닝을 통한 걸음걸이 인식 (1회) : 걸음걸이 인식 이해를 위한 기계학습의 시작

전문가칼럼
DBMS별 분류
Etc
작성자
admin
작성일
2021-02-22 16:00
조회
1747

◎ 연재기사 ◎딥러닝을 통한 걸음걸이 인식 (1회) : 걸음걸이 인식 이해를 위한 기계학습의 시작
딥러닝을 통한 걸음걸이 인식(2회) : 딥러닝 종류와 패턴인식


딥러닝을 통한 걸음걸이 인식 (1회)

걸음걸이 인식 이해를 위한 기계학습의 시작

필자: 임영섭 개발자로서 IT와 인연을 맺었으며, 비투엔을 거쳐 현재 씨에스리에서 데이터 모델러이자 데이터 아키텍트로 일하고 있다. 대학원 석사 과정에서 컴퓨터 비전을 연구했다.

2016년 1월에 방송된 ‘그것이 알고 싶다’는 걸음걸이 특징만으로 얼굴이 없는 살인범을 체포한 과정을 다뤘다. 걸음걸이 분석 전문가는 얼굴이 없는 CCTV에서 사람의 걸음걸이 패턴만으로 살인범을 지목했다.
2016년 3월, 딥러닝 기술을 바탕으로 만들어진 알파고와 이세돌 9단과의 바둑 대결은 1승 4패로 사람의 패배로 끝났다. 기계보다 사람이 잘 한다고 여겨진 사고 영역, 그 중에서 영상인식, 음성인식, 자연어처리 기능 등 패턴인식 또한 딥러닝 기술을 적용하여 사람의 능력을 시험할 수 있는 분야다.
지문이나 홍채처럼 걸음걸이도 사람마다 고유한 특징을 가진다. 이 연재에서는 전형적인 패턴인식 수단으로서 걸음걸이를 기계학습과 접목하여 보안, 수사, 의료 등 산업 분야에서 활용될 수 있는 기술로 상용화기 위한 단초를 제공하고자 한다.

기계학습 개요

러시아에서 출생한 미국의 과학 소설가 아이작 아시모프의 원작소설을 영화화한 2004년 ‘아이로봇’은 사람이 지능을 갖춘 로봇에게 생활의 모든 편의를 제공받으며 살아가는 미래를 그리고 있다. 사람처럼 스스로 학습하고 판단하며 감정을 조절하는 로봇 써니가 등장하지만 아직 현실과 거리가 먼 상상의 재미로만 치부된다.
column_img_2508.jpg
[그림 1] 영화 아이로봇에서 등장하는 로봇 ‘써니’
1997년, IBM의 슈퍼컴퓨터 딥블루(Deep Blue)는 러시아의 체스마스터 게리 카스파로프와 벌인 체스 경기에서 2승 1패 3무로 승리하며 전 세계적으로 화제가 되었다. 또한 2011년 2월, IBM 인공지능 왓슨(Watson)은 미국의 유명한 TV 퀴즈쇼 '제퍼디(Jeopardy)'에서 역대 우승자 2명과 퀴즈쇼를 벌인 결과 우승을 차지했다.
column_img_2509.jpg
[그림 2] 프로 바둑기사 이세돌 9단과 대결하는 알파고를 형상화 (출처:google.com)
이세돌과 알파고 간 바둑 대결은 기존 체스 게임이나 퀴즈쇼와 다르게 우리 국민들에게 미래까지 걱정하게 만들었다.
column_img_2510.jpg
[그림 3] 2004년 1월 1일부터 한국의 인공지능에 대한 관심도(출처: 구글 트렌드)
세계적으로 인공지능과 기계학습이라는 주제로 학문적-실용적으로 대단한 관심과 투자가 진행되고 있다. 구글은 지난해 6월 27일, 자체 블로그를 통해 자사의 비밀 연구소인 ‘구글X’ 소속 과학자들이 개발한 인공지능은 ‘고양이’를 의도적으로 학습시키지 않았지만, 유튜브 동영상 이미지에서 고양이를 스스로 구분해냈다고 알렸다.
column_img_2511.jpg
[그림 4] 구글의 인공신경망이 스스로 인식한 고양이 이미지 (출처:google.com)
기계학습은 컴퓨터가 학습하는 알고리즘과 기술을 개발하는 인공지능의 한 분야다. 기계학습 분야에서는 그동안 각기 다른 문제 영역에서 탁월한 성능을 보이는 다양한 학습 모델과 알고리즘들이 개발-활용되었다. 대표적인 기계학습 방법으로는 신경망(neural networks), 가우시안 혼합 모델(Gaussian mixture model), 은닉 마르코프 모델(hidden Markov model), SVM(support vector machine), 볼츠만 머신(Boltzmann machine) 등이 있다. 여기서는 최근 인공지능 분야에서 큰 성과를 거두고 있는 딥러닝의 모태인 신경망에 대해서 다룬다.
사람의 뇌가 지닌 뉴런의 수는 1000억 개에 달한다. 이런 뉴런은 상호 연결되어 신경세포로 구성되며, 전기-화학적 신호를 통해 정보를 전송하고 처리한다. 뉴런은 병렬로 연산하며, 셀 수 없이 많은 연결고리인 시냅스를 통해 소통한다. 뉴런 간 연결의 강도는 지식의 학습 과정을 통해 강해지거나 약해진다.
column_img_2512.jpg
[그림 5] 뉴런의 구조
뉴런은 외부에서 자극을 받아들이는 여러 개의 수상돌기와 자극에 대응해 유용한 신호를 생성하는 축삭돌기, 그리고 이 신호를 다른 뉴런으로 전달하는 가지돌기로 구성되어 있다.
각 수상돌기는 외부에서 들어오는 자극의 수위를 조절하는 가중치가 있다. 축삭돌기는 여러 개의 수상돌기에서 전달한 자극을 종합적으로 처리하지만 항상 다른 뉴런으로 신호를 생성하지는 않는다.
빈 컵에 자극에 해당하는 물을 부르면, 컵은 자신의 용량을 초과하기 전까지는 물을 수용하다가 용량을 초과하면 그때서야 컵 바깥으로 물을 흘리는 이치와 같다. 컵의 용량에 해당하는 값을 뉴런의 임계치로 표현한다. 또한 외부의 자극, 가중치, 임계치에 따라 외부로 신호를 줄지 말지를 결정하는 함수를 활성화 함수(activation function)라 한다.
1957년 코넬 항공 연구소의 심리학자 프랑크 로젠블라트는 단층 퍼셉트론(Perceptron)을 개발하였다. 이는 사람 눈을 통해 들어오는 빛을 감지해 물체를 구분하는 시신경의 뉴런을 모방해 다수 입력을 처리하고 결과를 출력하는 것을 핵심으로 한다.
column_img_2513.jpg
[그림 6] 입력이 3개인 단층 퍼셉트론
로젠블라트의 단층 퍼셉트론은 생물로서 뉴런과 유사하다. 입력은 뉴런의 수상돌기가 외부에서 받아들이는 자극과 유사하고, 출력은 뉴런의 축삭돌기와 유사하다. [그림 6]에서 X는 입력 x1, x2, x3과 가중치 w1, w2, w3을 각각 곱한 값을 모두 더한 값이다. Y는 축삭돌기처럼 X가 퍼셉트론이 가진 임계치 θ보다 크거나 같은 경우는 다른 뉴런으로 신호를 전달하고 그 외는 신호를 생성하지 않는다. 이것은 뉴런을 자극하는 세기가 임계치를 넘지 않으면 다른 뉴런으로 정보를 전달하지 않는 생물학적 특성을 반영하였다.
이제 단층 퍼셉트론으로 AND 불리언 대수 연산을 학습 알고리즘과 결과를 살펴보자. [그림 7]은 두 개의 입력으로 한 개의 출력을 생성하는 단층 퍼셉트론을 의미한다. AND 불리언 대수 연산은 4개의 각각의 입력 ((0,0), (0,1), (1,0), (1,1))에 대해 각각의 대응되는 출력이 (0, 0, 0, 1)이 나온다. 단층 퍼셉트론은 AND 불리언 대수 연산의 입력과 출력을 통해 학습을 한다. 이때 학습이란 입력에 대한 예상 결과(진리표에 나온 결과)와 단층 퍼셉트론의 실제 결과에 대한 차이를 반영하여 가중치 w1과 w2, 임계치 θ에 반영하여 수렴해 나가는 과정을 의미한다.column_img_2514.jpg
[그림 7] AND 연산을 위한 단층 퍼셉트론단층 퍼셉트론의 학습 알고리즘은 다음과 같다.

1. 입력 X = (x1, x2)에 대하여 단층 퍼셉트론이 출력하기 원하는 예상 결과치 O를 가진 4개의 테스트 데이터를 준비한다. (0, 0) -> 0, (0, 1) -> 0, (1, 0) -> 0, (1, 1) -> 1 2. 각 테스트 데이터마다 w1, w2, θ를 조정한다. ① w1 = w1 + L(O-Y)x1 ② w2 = w2 + L(O-Y)x2 ③ θ = θ + L(O-Y) 여기서 O는 올바른 값, Y는 실제 값, L은 학습률을 의미한다. 3. 테스트 데이터마다 2번을 w1, w2, θ가 수렴할 때까지 반복한다.

w1, w2, θ의 초깃값은 각각 0.5, 0.5, 0.5로 학습률 L은 1로 설정한 다음 학습을 시작하였다. 학습 알고리즘에 따라 w1, w2, θ가 수렴할 때까지 [표 1-1]과 같은 결과를 얻을 수 있다.
[표 1] 가중치 및 임계치 학습 과정
column_img_2515.jpg
[표 1]의 결과에 따라 AND 불리언 대수 연산을 학습한 단층 퍼셉트론은 가중치 w1 = 1.5, 가중치 w2 = 1.5, 임계치 θ = 2.5를 갖게 된다. 이 결과를 x1과 x2 2차원 평면에서 생각해 보면 [그림 8] (a)와 같이 하나의 직선으로 2개의 영역을 나누는 분류의 문제와 동일하다. 파란 선을 경계로 출력 1을 생성하는 (1, 1) 영역과 출력 0를 생성하는 (0, 1), (1, 0), (0, 0)으로 최적화되었다.
column_img_2516.jpg
[그림 8] (a) AND 연산, (b) XOR 문제
[그림 8]의 (b)는 XOR 연산이며, 입력 x1과 x2 둘 중에 하나만 0일 때(또는 하나만 1일 때)는 1을 출력하고 그 외의 경우는 0을 출력하는 영역을 한 개의 선형 함수를 찾는 문제로 귀결된다. 한 개의 선형 함수로 출력 0을 생성하는 (0, 0), (1, 1) 영역과 출력 1을 생성하는 (1, 0), (0, 1) 영역으로 구분할 수 없으며 이는 오랜 동안 풀리지 않는 문제였다.
1969년 MIT의 민스크와 페퍼트는 하이퍼공간(hyperspace), 하이퍼평면(hyperplanes)이란 개념으로 이 문제를 풀었다. 하이퍼공간은 n차원의 공간이며, 하이퍼평면은 n차원 공간에서 한 차원이 적은 평면이다. 하이퍼공간이 3차원이라면 하이퍼평면은 2차원이다. 한 개의 하이퍼평면은 해당 공간을 두 개의 영역으로 나눌 수 있고, 두 개의 하이퍼 평면은 해당 공간을 3개 또는 4개의 영역으로 나눌 수 있다.
[그림 8]의 (b) XOR 문제는 [그림 9]의 (b)에서 2차원 하이퍼공간에서 2개의 1차원 하이퍼평면에 해당하는 2개의 직선으로 출력이 0인 영역을 2개, 출력이 1인 영역을 1개로 분리하여 해결되었다.
[그림 8]의 (a)에서 입력층과 출력층 사이 은닉층에 존재하는 2개의 뉴런을 통해 고질적인 XOR 문제를 해결하였다. 하지만 문제가 선형적이지 않은 복잡한 문제의 경우 해결책이 등장하지 않아서 딥러닝이 등장하기 전까지 한동안 저주 받은 시간을 보내게 된다.
column_img_2517.jpg
[그림 9] (a) 은닉층이 추가된 다층 퍼셉트론, (b) 해결된 XOR 문제
인공지능의 침체기를 거쳐 2000년 후반이 돼서야 기계학습이 활성화된 것은 딥러닝 기술의 발전을 통해서다. 딥러닝은 데이터로부터 고수준 특징(high-level feature)을 학습하기 위한 기술이다. 주로 다수 개의 은닉층을 가진 깊은 신경망(deep neural networks)을 이용해 구현되는데, 고수준 특징을 학습하기 때문에 복잡하고 변화가 많은 응용 분야에서 탁월한 성능을 보인다. 다음 회는 딥러닝 기술에 대해 알아보고 기계학습이 주로 이용되는 패턴인식에 대해 기술 동향을 알아본다. (다음 회에 계속)