알고리즘(Algorithm)이란?

‘알고리즘(Algorithm)’이라는 용어는 많이들 알고 있지만 ‘알고리즘’을 쉽고 자세히 설명할 수 있는 사람은 그리 많지 않다. 워싱턴대학(University of Washington) 페드로 도밍고스(Pedro Domingos) 컴퓨터과학 교수는 매셔블과 인터뷰에서 알고리즘을 다음 6가지로 나누어 설명하고 있다.

1: 알고리즘이란 매우 구체적인 명령 집합이다.
알고리즘은 하나로 이어지는 구체적인 명령 집합이다. 이를테면 ‘2+2를 구하는 방법’ ‘케이크 굽는 방법’ ‘헌법에 따라 국가를 운영하는 방법’ 등도 모두 알고리즘이다. 사전에는 ‘컴퓨터에서 어떤 문제를 해결하기 위한 절차, 방법, 명령어들 집합’으로 설명하고 있다.

컴퓨터 알고리즘은 매우 복잡하다. 덧셈도 텍스트 몇 줄로 정의된 알고리즘이라고 할 수 있지만, 컴퓨터 알고리즘은 때로는 수백만 줄에 이를 수 있다.

2 : 컴퓨터가 등장하기 훨씬 이전부터 인류는 알고리즘을 사용했다.
고대 바빌로니아에서 초기의 농경사회를 관리하는 계산으로까지 거슬러 올라간다. 즉 알고리즘은 꼭 컴퓨터가 아니더라도 인간이 실행할 수 있다.

20세기 중반 컴퓨터가 등장하고 군대가 움직이는 목표물에 포격하기 위한 계산으로 컴퓨터를 도입했다. 이후 알고리즘은 월급 계산, 날씨 예측 계산 등 용도로 주목을 받게 됐다. 

현대 알고리즘에 전환기가 된 것은 구글 등장이다. 구글을 창업한 래리 페이지와 세르게이 브린은 검색엔진에 페이지 순위라는 알고리즘을 개발했다. 

이 페이지 순위는 검색어와 사이트 연관성뿐만 아니라 해당 사이트가 얼마나 링크되어 있는지 등을 통해 알 수 있는 글 평판 등을 대규모로 평가할 수 있다는 점에서 획기적이었다.

3 : 오늘날 모든 곳에서 알고리즘이 존재한다.
현대에는 모든 장소에 알고리즘이 존재하고 있다. 컴퓨터나 인터넷 보급에 따라 알고리즘은 생활 곳곳에서 볼 수 있다. 이를테면 개인화된 페이스북 뉴스피드나 아마존이 제품을 사용자에게 추천하기 위한 시스템도 알고리즘으로 구성되어 있다.

식기세척기가 세척 상태에서 건조 상태로 넘어가는 타이밍이나 자동차의 연료 소비와 공급 계산, 디지털 애니메이션 영화가 인물의 그림자를 현실과 똑같이 재현하는 방법 등도 알고리즘 기반이다. 최근에는 모든 것에 알고리즘이 존재하고 있다.

4: 복잡한 알고리즘과 기계학습을 사용한다.
기술의 진보에 따라 형태가 바뀐 알고리즘은 인공지능(AI)인 기계학습의 등장으로 새로운 변화를 맞이하고 있다. 

컴퓨터에 명령하기 위한 알고리즘은 프로그래머들에 의해 매우 상세하게 쓰여 있다. 이를 요리법에 비유하면, 먼저 양파가 무엇인지 정의하고 나서 양파를 다져서 볶는 등 절차를 하나씩 지시하는 것과 같다.

그런데 요리에 익숙한 사람이라면 레시피에 ‘양파’라고 적혀 있는 것을 보기만 해도 스스로 양파를 볶는 생각을 할 수 있을 것이다. 마찬가지로 기계학습을 통해 훈련한 컴퓨터는 스스로 알고리즘을 개발하고 목적을 달성할 수 있게 된다.

인간 개입 없이 스스로 프로그램하는 것을 학습한다. 이는 매우 강력하다. 왜냐하면 인간의 개입 없이 매우 복잡한 알고리즘을 생성할 수 있기 때문이다.

5: 알고리즘은 절대 완벽하지 않다.
컴퓨터를 잘 모르는 사람은, 어쩌면 ‘알고리즘은 완벽한 것’이라고 생각하기 쉽지만, 알고리즘은 항상 인간의 실수를 포착할 수 없다.

인간과 달리 기계학습을 이용한 알고리즘에는 편견이 없다고 생각하기 쉽지만, 현실은 그 반대다. 학습에 사용한 데이터에 편견이 포함되어 있을 경우다.

이를테면 미국 의료시스템에는 인종에 관한 정보가 포함되어 있지 않지만, 인종차별이 일어났다. 의료시스템이 참조한 의료비 데이터에 포함된 편견을 학습한 것이다. 결과적으로 인종 편견을 제거하는 것이 불가능할 정도 인종차별이 발생해 문제가 됐다.

6: 알고리즘은 기술 혁명을 이끌고 있다.
웹이나 소셜미디어처럼 우리가 당연하다고 생각하는 것들은 모두 알고리즘 없이는 존재하지 않는다. 비록 완벽하지 않더라도 알고리즘에는 세상을 바꾸는 힘이 있다. 

과거 산업혁명이 수공업이었다면 현대 알고리즘은 두뇌 노동이다. 다시 말해 알고리즘은 지성의 자동화라고 할 수 있다. 특히 알고리즘이 공정해질지 아니면 편향될지 또는 유익해질지 유해할지는 순전히 인간 몫이다.

김한비 기자 itnews@