모두의 인공지능 기초
이번 글부터는 II단원으로 인공지능의 원리와 활용에 대해서 배웁니다. 먼저 주변의 정보를 인식하는 '센서와 인식' 내용부터 살펴봅니다.
센서는 교과서의 정의에 따르면
"인간의 감각기관을 대신해 열, 빛, 온도, 압력, 소리 등의 물리적인 양 또는 그 변화를 감지하거나 구분 및 측정하여 일정한 신호로 알려주는 부품."
입니다. 뭔가 우리 주변의 환경이 컴퓨터나 기기가 알 수 있도록 신호로 바꾸어주는 장치라고 할 수 있죠.
센서는 이제 생활 곳곳에서 친숙하게 사용되고 있습니다. 우리가 사용하는 스마트폰에서도 다양한 센서들이 부착되어 있고, 아두이노 혹은 마이크로비트와 같은 도구들을 통해 센서를 직접 다루고 활용한 도구들을 직접 만들어낼 수도 있습니다. 센서들은 저렴하고 쉽게 구할 수 있기 때문에 많이 활용되고 있어요. 홍콩 위에 위치한 중국 심천(선전)의 화창 베이에는 용산 전자상가의 10배는 넘는 규모의 전자 상가 단지가 있습니다. 여기는 센서를 활용한 프로토타입을 만드는 메이커들의 천국이라 할 수 있죠. 다양하고 제품을 저렴하게, 쉽게 살 수 있거든요. 전 세계에 사용하는 센서나 부품들은 대부분 이곳에서 생산된다고 해도 과언이 아닐꺼에요.
센서는 스마트폰, 인공지능 스피커 등을 통해 환경과 상호 작용을 하고 사람의 요구사항을 파악하는데 유용하게 사용됩니다. 인공지능 스피커에는 사람의 음성을 인식하는 센서가 있고, 자율주행 자동차는 센서의 총집합이라고 해도 과언이 아닐 만큼 다양한 센서로 실시간으로 주변 환경의 정보들을 파악합니다.
위의 영상을 보면 센서를 활용한 다양한 서비스가 제공되고 있음을 볼 수 있습니다.
센서는 특정하게 단위가 없이 인식되는 아날로그 신호를 일정한 주기에 따라 측정하는 샘플링 과정과 그 값을 단위로 바꾸는 양자화, 부호화 과정을 거쳐서 디지털 신호로 바꾸어줍니다. 그 값으로 다양한 제어를 할 수 있는데 아두이노를 활용한 피지컬 컴퓨팅 활동을 해보면 센서를 좀 더 친숙하게 다룰 수 있습니다.
특히 지난 글에 봤던 지능 에이전트와 연계해서 살펴볼까요? 지능 에이전트는 센서를 활용해 주변의 환경을 인식하고 인공지능을 거쳐 구동기를 작동시킵니다. 기기의 용도에 따라 인식하는 정보는 다양합니다. 그리고 모터, 램프, 모니터 등을 통해 실제 작동을 통해 사람이 필요로 하는 일을 대신 처리하죠.
로봇의 경우 예전에는 사람이 스위치나 작동 장치 등을 통해 보내는 신호에 따라 수동적으로 움직였지만 이제는 로봇이 처한 상황을 스스로 파악하고 행동을 결정합니다. 위의 영상은 놀라운 로봇의 능력을 보여주는 보스턴 다이나믹스의 로봇, 아틀라스 모습입니다.
이제 곧 사람을 대신해서 노동 현장이나 위험한 작업 등을 대신할 정도가 되지 않을까요? 물론 인간의 노동 시장에 대한 충분한 논의와 제도적인 보완이 필요하겠지만 실제로 이런 로봇들은 이미 특정 분야에서 활용되고 있습니다.
다양한 센서의 활용 예시로 무인 매장을 들 수 있습니다. 아마존에서 직원 전용으로 실시했던 아마존 고에서는 고객의 정보를 인식하고, 물건 인식하고, 장바구니 담고, 결제까지 이루어집니다. 이 모든 것들이 센서들의 도움으로 진행되는 걸 알 수 있습니다.
비슷한 활용 사례로 어떤 것들이 있을까요? 저는 도서관이 떠올랐어요! 도서관에서는 책을 골라서 대출 서비스를 통해 바코드 스캔을 하고, 도서증도 인식을 합니다. 그러나 언젠가 도서관에서도 별도의 절차 없이 읽고 싶은 책을 들고 나오면 되는 시대가 오지 않을까요? 버스나 전철, 기차 등도 별도의 교통 카드 태그 없이 이용이 가능할지도 모르죠. (마치 영화 마이너리티 리포트의 장면과 같은 세상이 올지도 모르겠습니다. 요즘 중고생들은 마이너리티 리포트를 모르겠지만요.. 2002년에 개봉된 영화입니다!)
또 센서를 활용한 지능 에이전트의 또 다른 예시로 자율 주행 자동차가 있습니다. 자율 주행 자동차에는 정말 다양한 센서가 들어가는데요, 가까운 곳에 있는 물체를 인식하는 레이더, 카메라, 빛을 활용해 물체를 인식하는 라이다, 차량의 운행 경로와 위치를 실시간으로 주고받는 GPS, 차량과 주변 물체와의 거리를 인식하는 초음파 센서 등 정말 많은 센서들이 들어있습니다.
센서는 아직 완벽하지 않습니다. 인식거리도 문제가 되고, 사람만큼 민감하지 않기도 합니다. 실제로 자율주행 자동차의 사고 사례 뉴스를 한 번 살펴보면..
아직까지 자율주행 자동차에서 센서가 인식할 수 있는 거리는 250m 정도밖에 안된다고 해요. 그 거리를 재빨리 파악하고 주행, 정지, 회피, 감속, 가속 등의 다양한 동작을 판단하고 실행해야 합니다. 반면 사람들은 저 멀리까지 볼 수 있고 다음 행동을 미리 결정할 수 있죠. 그래서 자율주행은 단순히 센서에 의해 대응을 하는 수준으로는 한계가 있습니다.
만약 모든 자동차의 정밀한 (차선 위치 등) 위치가 인공지능이 실시간으로 파악하고 있다면 어떤 일이 생길까요? 센서에만 의존하는 게 아니라 움직임 모든 부분이 인공지능의 제어를 받는 시대가 올 수도 있죠. 그러면 지금의 센서로 자율주행하는 기술이 그때는 '왜 저렇게 불편하게 해?'라고 생각이 될지도 모릅니다.
지금은 센서로 주변의 정보로 받기 때문에 차에 위치한 센서가 외부 요인에 의해 오염되거나 망가질 경우 기능을 제대로 할 수 없습니다. 게다가 센서가 인식할 수 있는 거리는 한계가 있습니다. 생각해 보면 약 100m 앞까지만 보이는 안갯속에서 시속 100km로 운전할 수 있을까요?
그리고 센서는 주변 환경에 따라 인식하는 값이 달라집니다. 사람은 빛이 강하든 약하든 하나의 사물을 동일하게 인식할 수 있지만 센서는 같은 사물에 대해 인식값이 달라질 경우 다른 사물로 인식할 수도 있죠. 따라서 이런 한계들은 앞으로 HW적이든 SW적이든 보완해 나가야 할 숙제입니다.
다양한 센서는 우리의 삶을 여러 곳에서 편리하게 해줍니다. 우리의 스마트폰이 주변 밝기에 따라 화면 밝기를 조절해 주고 사진을 찍을 때 사물을 인식하기도 합니다. 건물에 장착된 화재 경보 시스템, 버스를 탈 때마다 태그 하는 교통 카드에도 RF 센서가 달려있죠. 이런 센서를 활용해서 지능 에이전트는 주변 환경을 인식하죠. 하지만 아직은 센서는 아직 보완해야 할 부분들이 많고 성능도 점차 개선되어갈 것입니다.
다음 시간에는 컴퓨터가 시각적인 데이터를 처리하는 '컴퓨터 비전'에 대해 살펴보도록 하겠습니다. ^^