인공지능(AI, Artificial intelligence)은 최근 다양한 분야에서 활용되고 있고, 그만큼 관련 용어도 많이 언급되고 있다.
AI에 대해 공부한다면 시작 단계에서 접하게 되는 머신러닝, 딥러닝에 대해서 간단히 정리해보고자 한다.
먼저 이들 간의 관계부터 얘기하자면 인공지능>머신러닝>딥러닝이라는 관계를 갖고 있다. 가장 큰 개념인 인공지능부터 알아보자.
인공지능 AI 개념과 역사
인공지능은 한 마디로 인간이 갖고 있는 지능을 인공적으로 구현하려는 컴퓨터 과학의 한 분야다.
용어의 기원부터 살펴보자면 1956년 다트머스 회의에서 존 매카시(John MaCarthy) 라는 미국의 컴퓨터과학자가 처음 제안한 것으로, "기계를 인간이 행동할 때의 지식과 같이 행동하도록 만드는 것"을 연구하는 분야를 AI라고 정의하게 되었다.
이 컨퍼런스 이후 50년대 후반~60년대에 AI 분야는 빠르게 발전했고, 탐색 추리, 자연어 처리 등을 수행하면서 많은 사람들이 AI에 열광하는 이른바 황금기를 보냈다.
하지만 지나친 낙관론으로 AI는 7~80년대, 8~90년대 초까지 두 번의 암흑기를 맞게 된다. 열정이 컸던만큼 실망도 컸으며, 투자가 끊긴 상황에서도 연구를 이어가던 사람들에 의해 "AI 겨울"이라는 단어가 만들어졌다. 이 당시에는 컴퓨터 성능의 한계로 인해 인공지능 또한 발전을 할 수 없었지만, 이후 4차 산업혁명 시대를 맞이하고 빠르게 발전하는 컴퓨터 시스템에 따라 인공지능 또한 활발한 연구와 활용이 진행되고 있다.
머신러닝 ML 개념
한국어로는 기계 학습이라 불리는 머신러닝(ML, machine learning)은 인공지능의 한 분야로, 기계 즉 컴퓨터가 학습을 할 수 있도록 하는 알고리즘과 기술을 개발하는 분야다. 1959년 아서 사무엘(Arthur Samuel)의 정의에 따르면 "기계가 코드로 명시하지 않아도 데이터로부터 학습해서 실행할 수 있도록 하는 알고리즘"을 개발하는 연구 분야다.
주로 훈련 데이터를 통해 학습된 속성을 기반으로 예측하는 것에 초점을 둔다. 나를 인공지능에 입문시켜줬던 Python 사이킷런(Scikit-Learn)이 대표적인 머신러닝 라이브러리다.
딥러닝 DL 개념
한 단계 더 깊은 개념으로는 딥러닝(DL, Deep Learning)이 있다. 인공신경망(ANN)에 기반해 설계된 개념이기 때문에 AI>ML>ANN>DL 이라고 보는 시각도 있고, 인공신경망을 다시 브랜딩한 개념으로 보는 시각도 있다.
ML보다 ANN이 먼저 제시된 개념(1957년)이지만, 그 당시에는 지나치게 느린 학습속도, 과적합 등 여러 한계로 주목받지 못하고 있었다. 이를 극복한 건 2000년대에 와서인데, 캐나다의 제프리 힌튼(Geoffrey Hinton)이 과적합 문제를 해결할 수 있는 방법을 제시하며 기존 인공신경망의 한계를 극복한 이 인공신경망이 딥러닝이라는 새로운 이름으로 불리기 시작한 것이다.
"1. 기존 ANN의 문제 해결 2. 하드웨어의 발전 3. 빅데이터"라는 세 가지 요인으로 인해 딥러닝은 다시 부활해 최고 수준의 성능을 보여주고 있다.
대표적으로 2012년에 제프리 힌턴 팀이 ImageNet이라는 이미지 분류 대회에서 우승한 AlexNet, 2016년의 이세돌과의 바둑 대국으로 기억되고 있는 알파고 등이 딥러닝을 활용한 사례라고 할 수 있겠다.
딥러닝 라이브러리는 2015년 공개된 구글의 텐서플로우(TensorFlow), 2018년에 공개된 페이스북의 파이토치(PyTorch) 두 가지가 대표적이다. 둘 다 파이썬으로 활용이 가능하고, 원래 TensorFlow의 사용자가 많았지만 보다 직관적이고 쉽게 사용할 수 있는 Pytorch를 쓰는 사람이 많아지고 있는 추세이다. 나 또한 파이토치로 딥러닝 공부의 첫 발걸음을 떼는 중이다.
AI를 공부하다보면 자연스럽게 머신러닝, 딥러닝 라이브러리들을 점점 더 깊게 공부하며 배우게 된다. 그러면서 내가 좋아하는 분야도 찾게 되고, 수학도 다시 공부하게 되고, 그 와중에 빠르게 발전하는 새로운 기술들에 대해서 매일 공부할 게 더 늘어나는 분야다.
나처럼 새로운 걸 배우는 걸 좋아하는 사람이라면 적성에 잘 맞는 분야일 것이다.
(특히 이론적으로 배우고 계산기로 풀어가며 시험을 쳤던 수학과 통계학을 코드로 간단하게 구현할 수 있다니! 좀 더 빨리 이렇게 공부를 했다면 인생을 다른 방향으로 재미있게 보냈을지도 모르겠다는 생각이 들었다.)
'Data Science' 카테고리의 다른 글
경사하강법 비용함수(cost) 이해하기 (0) | 2023.04.04 |
---|---|
딥러닝 인공 신경망과 뉴런의 구조 원리 개념 짚기 (0) | 2023.04.04 |
실리콘 M2 맥북에 tensorflow, pytorch 설치 및 GPU 가속 사용 설정 방법 (0) | 2023.04.01 |
프로그래머스 인공지능 데브코스 AI 5기 합격 후기 (0) | 2023.04.01 |
[3초 해결] 파이썬 np.random.randint 함수 범위 사용법 (0) | 2023.03.28 |
댓글