라면 만드는 알고리즘 알려줘!
"Yeah I'll go with my rhythm, Say no to algorithm"
걸그룹 ITZY가 일본에서 싱글 3집을 선보였습니다. 여기에는 '알고리듬'이라는 노래가 있는데요. 그 가사 중 일부입니다. 내용을 보니 틀에 박힌 '알고리즘'에서 벗어나 자신만의 리듬으로 빛내자는 긍정적 의미의 메시지를 담았다고 하네요. 이젠 수많은 사람들이 잘 알고 있을 법한 알고리즘(영문으로는 algorithm, '알고리듬'이라고 하지만 이하 '알고리즘'으로 작성합니다)은 가사 그대로 '틀에 박혀있는' 것 같아요. 근데 틀에 박혀있다는 알고리즘이란 대체 뭔지. 대체 뭐길래 여기저기에서 보이는 건가 말입니다.
예전에 다시 토익 공부 좀 해보겠다며 여러 어학원들의 커리큘럼을 알아본 적이 있습니다. 아니 무슨 학원들이 이렇게나 많은 건지, YBM부터 해커스, 파고다는 물론이고 들어보지도 못한 어학원까지 검색 결과를 가득 채우기도 했습니다. 솔직히 말하면, 토익 수강과 함께 따라오는 패키지 상품이 조금 궁금하기도 했었어요. "내가 이번에 영어 수강 신청했는데 거기서 아이패드 받았지 뭐야. 저쪽 어학원에서는 헤드폰도 주고 이어폰도 준다더라" 오호 이것 봐라? 염불은 무슨, 오히려 잿밥에 관심이 갔답니다. 지인의 말을 들으니 확 끌리긴 했습니다. 그렇게 몇몇 학원을 알아본 후 시간이 흘렀는데 아니나 다를까 어학원들의 광고 배너가 웹 서핑을 하는 동안 계속 따라다니기 시작했죠. 그때만 해도 이런 리타게팅 광고의 '알고리즘' 따위는 잘 알지 못했습니다. 리타게팅 광고는 본래 '유저의 구매 의도를 다시금 리마인드 하면서 은근슬쩍 재방문을 유도하는 광고 기법'이랍니다. 그러니까 번쩍번쩍하는 배너 광고도 웹 서핑의 캐시값을 바탕으로 하되 유저의 특성과 습관을 고려해 광고를 붙이는 셈이라는 거죠. 여기에도 알고리즘이라는 걸 빼놓을 순 없겠죠.
알고리즘의 정의를 살펴보니, ”A set of finite rules or instructions to be followed in calculations or other problem-solving operations”이라고 합니다. 어떤 문제의 해결 작업이나 계산에 있어 따라야 하는 특정 규칙 같은 걸 의미한다는 내용인데. 이렇게 보면 되게 어렵잖아요? 원래 기술적 키워드의 정의가 제일 어렵긴 합니다. 뭐 이렇게 어렵게 풀어놨을까. 아무튼 알고리즘이라는 단어는 여러모로 굉장히 포괄적인 의미 같기도 합니다. 위에서 언급한 대로 특정 작업을 수행하는 방법의 단계별 가이드이자 결괏값에 도달할 수 있도록 사용되는 규칙 혹은 세트 구성이라는데요. 그냥 예를 들어볼까요? 어떤 요리를 만들려고 할 때 정해진 '레시피'라는 게 있잖아요? 백종원 레시피도 있고 초간단 레시피라는 것도 있고. 레시피에 나온 대로 재료부터 냄비 혹은 팬 그리고 조리 도구를 미리미리 준비해 두고 정해진 조리법에 따라 정해진 시간에 맞춰서 시키는 대로 넣고 볶거나 끓이거나 해서 요리를 완성시키는 일. "국물이 짜다. 다시 물을 넣는다. 맛있는 요리 완성!" 혹은 "요리가 싱겁다. 소금, 후추, 간장 따위를 넣는다. 맛있는 요리 완성" 어쨌든 이러한 <알고리즘 = 레시피>도 맛있는 요리에 도달하기 위한 특정한 과정과 일련의 단계가 있는 거잖아요. 물론 알고리즘이라는 단어를 이렇게 레시피라는 것으로 단순하게 표현하기엔 무리가 있을 수도 있겠지만. 근데 이걸 더 단순하게 표현할 수도 있어요. 요즘 애들도 다 알지만, 1 더하기 2는 3입니다. 여기서 input 값은 1과 2라는 숫자죠. Output은 Sum 즉 합(더하기)입니다. input 값을 넣고 Output을 실행하면 3이라는 결괏값이 나오죠. 이건 두 숫자의 합을 구하는 그저 초등학교 수준도 안 되는 산수에 불과합니다만 어쨌든 알고리즘이라고 말할 수 있습니다. 동의하시죠?
인공지능에도 알고리즘이라는 것이 적용될 수 있습니다. 유저가 무엇을 요청하고자 할 때 텍스트나 음성 따위를 입력시키죠. 이것을 보통 쿼리(query)라고 하는데 이 쿼리를 받은 인공지능이 쿼리를 인지-분석-조합-처리라는 일련의 과정을 거쳐 결괏값을 제공합니다. 알려진 것처럼 인공지능은 데이터를 가지고 학습을 합니다. 머신러닝이나 딥 러닝, 자연어 처리 등 AI 알고리즘 또한 데이터를 기반으로 학습하는데 패턴을 인식하고 판단합니다. 그리고 예측을 하거나 결과물을 제시하기도 합니다. AI 알고리즘도 컴퓨터가 특정 작업을 수행하거나 문제 해결을 위해 설계된 일련의 과정, 규칙 혹은 절차라는 것을 기본으로 합니다. 챗GPT가 말하길, "AI 알고리즘은 데이터 셋을 통해 학습하고 어떤 결정을 내리는 데 있어 핵심적인 역할을 수행하게 되는데 이를 통해 다양한 산업 분야에서 혁신적이고 효율적인 솔루션을 제공할 수 있게 된다"라고 말합니다. 아까도 '레시피'를 예로 들긴 했지만 챗GPT 역시 컴퓨터가 사람처럼 생각하고 문제를 해결할 수 있도록 도와주는 일종의 '레시피'라고 표현하기도 했답니다.
중세 이슬람의 가장 중요한 수학자로 인정받고 있는 '대수학의 아버지' 무하마드 알 콰리즈미라는 인물이 있는데요. 시대를 막론하고 수학자들을 일렬로 쭉 세우게 되면 선두에는 알 콰리즈미가 있을 것이라는 말처럼 대단한 수학자라고 하는데 알고리즘이라는 키워드 역시 알 콰리즈미라는 수학자의 이름에서 따온 것이라고 합니다.
※ 아직 알고리즘에 대한 아주 쉽고 명확한 풀이를 어떻게 말해야 할지 모르겠습니다만, 어렵지 않은 그러면서도 디테일한 내용을 알고 계신다면 꼭 알려주시기 바랍니다.