기고 | 이재성 교수의 웰컴 투 AI

이 공부가 재미있다면 나도 인공지능 전문가?

2024-07-03 13:00:01 게재

AI학과 진학을 염두에 두고 있더라도 국내 대입 시스템 특성상 국어 영어 수학 사회 과학을 등한시할 수 없다. 이런 상황에서 도움이 될 만한 일반선택 과목이 있다면 바로 ‘정보’다.

만약 ‘정보’에서 아래 영역의 성취가 뛰어나고 흥미롭다면 인공지능에 대한 적성이 뛰어나다고 봐도 좋다.

정보 윤리, 인공지능 활용에 큰 역할

정보 윤리는 인공지능과 직접적인 연관성은 없지만 인공지능을 활용할 때 중요한 역할을 한다. 최근 등장한 생성형 인공지능이 만들어낸 여러 사회적 이슈 때문이다. 특히 인공지능 학습을 위한 데이터 수집 과정에서 개인정보가 섞이기도 하고 저작권을 침해하기도 한다. 딥페이크 같은 기술은 범죄에 직접 이용되기 때문에 사이버 윤리 교육의 중요성이 더 커지고 있다. AI학과를 졸업한다면 인공지능 엔지니어가 되어 윤리 이슈에 저촉되지 않는 인공지능을 개발해야 하니 꼼꼼하게 공부해둔다면 도움이 될 것이다.

‘컴퓨터는 계산기이며 오로지 숫자를 다룬다’는 사실은 아무리 강조해도 지나치지 않다. 그렇기 때문에 현실의 문제를 인공지능으로 처리하기 위해서는 숫자로 변환하는 과정이 반드시 필요하다.

보통 인공지능의 세부 분야를 시각지능, 언어지능, 음성지능, 그 외로 나누는데 각 분야를 위해 그림을 숫자로 변환하는 방법, 문자를 숫자로 변환하는 방법, 소리를 숫자로 변환하는 방법이 정해져 있다. 만약 이 부분에 강점을 보인다면 인공지능뿐만 아니라 데이터 과학자의 재능이 있다고 볼 수 있다.

현실의 여러 대상을 숫자로 옮겼다면 이제 컴퓨터로 무언가를 해보기 위한 자료가 준비되었다는 뜻이다. 여기에 여러 방법론을 적용해서 결과를 얻어내는 절차를 ‘분석’이라고 한다.

수집한 자료에 잘못 기입된 부분이나 누락이 많다면 제대로 분석할 수 없다. 인공지능에서 ‘자료의 깨끗함’을 ‘데이터 품질’이라고 하는데 좋은 품질의 데이터를 취합하기 위한 방법론이 있다. 이에 따라 자료를 분석하는 법 이외 자료 수집과 관리 방법에 대해서도 배우게 되는데 이 능력 또한 인공지능은 물론 데이터 과학자에게 중요한 소양이다.

현실에서 맞닥뜨리는 문제의 대부분은 수학이 아닌 자연어로 이루어져 있고 체계화되어 있지 않다. 문제를 해결하는 데 중요한 조건과 그렇지 않은 조건이 섞여 있어서 컴퓨터로 문제를 해결하려면 핵심을 파악하는 절차가 필요하다. 바로 ‘문제분석’이다.

한편, 현실 문제는 여러 가지 세부 문제를 동반하는데 이를 동시에 해결하는 것보다 따로 떼어놓고 해결하는 게 더 효율적이다. 이를 ‘문제 분해’라고 한다. 마지막으로 분해된 문제를 컴퓨터가 풀 수 있도록 수학식으로 만들어주는 ‘모델링’이 있다. 컴퓨터로 현실 문제를 해결하려면 모델링이 필수인데 생각보다 많은 학생이 추상화 과정을 매우 낯설어한다. 이 파트에 어려움을 느끼지 않는다면 인공지능 관점에서는 대단한 재능을 가지고 있다고 볼 수 있다.

인공지능은 알고리즘으로 작동한다. 아무리 인공신경망의 구조를 잘 짰더라도 그곳에 들어갈 최적의 매개변수를 찾아주는 오차 역전파 알고리즘이 제대로 동작하지 않으면 절대 좋은 결과를 얻을 수 없다.

알고리즘은 어떤 문제를 해결하기 위한 절차다. 대부분의 사람들은 문제를 직관적인 순서에 따라 해결하는 것이 편하다. 하지만 세상의 일이 모두 직관적이진 않다. 주어진 문제를 세부적으로 분할해 해결하는 법, 문제 해결 절차를 세부 문제의 반복 해결로 대하는 법, 작은 문제의 해결 방법을 기록해두었다가 재활용하는 법 등 여러 기술을 동원해야 효과적으로 문제를 해결할 수 있다. 알고리즘은 인공지능과 함께 컴퓨터공학에서 매우 중요하게 여겨지니 이 부분을 잘 따라온다면 AI학과에 진학하더라도 큰 어려움 없이 적응할 수 있다.

프로그래밍, 완벽한 해결책을 위한 코딩

인공지능은 주어진 문제를 컴퓨터를 통해 해결하려고 한다. 컴퓨터가 문제를 해결하기 위해서는 프로그램이 필요하다. 이를 위한 프로그래밍을 잘하기 위해서는 먼저 자료를 저장하는 방법을 알아야 한다. 자료를 효율적으로 처리하는 알고리즘을 만드는 방법도 알아야 하고 무엇보다 주어진 프로그래밍 언어가 지원하는 틀에서 이러한 내용을 코드로 작성할 수 있어야 한다.

프로그래밍은 인간의 직관과 거리가 있는 편이다. 프로그래머도 인간이기 때문에 예상처럼 항상 올바른 결과물이 나오지 않을 때가 많고 같은 명령도 다르게 해석할 여지가 있다. 평소 완벽한 해결책을 찾으려고 노력하고 프로그래밍에 관심이 있다면 세상에서 보기 드문 재능을 가진 학생이라고 할 수 있다.

이재성 중앙대학교 AI학과 교수