[AI/python] 머신러닝과 딥러닝

Date:     Updated:

카테고리:

태그:

인공지능, 머신러닝, 딥러닝

현재, Chat GPT의 등장 이후, AI 는 전성기를 달리고 있습니다. AI 하면 많이 듣는 말은 머신러닝, 딥러닝 등등이 있습니다. 지금은 딥러닝이 암을 대신 진단하고, 생명 현상의 신비를 풀어내며, 각종 신약이나 단백질 구조를 찾는 등 산업 전반에 커다란 변화를 가져오고 있습니다.

그렇다면, 인공지능/머신러닝/딥러닝 의 차이는 어떤걸까요?

머신러닝

머신러닝은 기계가 명시적인 프로그래밍 없이도 데이터를 기반으로 스스로 학습하고, 학습된 내용을 바탕으로 새로운 데이터에 대해 예측하거나 판단을 내리는 기술입니다.
즉, 기존 데이터를 분석해 패턴이나 함수를 찾고, 이를 통해 아직 일어나지 않은 상황을 예측하는 모델을 만드는 과정입니다.

예를 들어, 학생들이 공부한 시간과 그에 따른 시험 점수가 다음과 같다고 가정해봅시다.

  • 1시간 → 60점
  • 2시간 → 70점
  • 3시간 → 80점
  • 4시간 → 90점

이러한 데이터를 바탕으로 머신러닝 알고리즘은 “공부 시간”과 “점수” 사이의 관계(예: 직선 형태의 함수)를 학습하게 됩니다.
그 후, “5시간 공부하면 몇 점일까?”라는 질문에 대해 모델은 학습한 패턴을 기반으로 점수를 예측할 수 있습니다.

또 다른 예로는, 서로 다른 두 종류의 데이터를 나누는 결정 경계선을 학습하여 분류하는 문제도 있습니다.
이처럼 머신러닝은 회귀(숫자 예측), 분류(카테고리 예측), 클러스터링(유사도 기반 그룹화) 등 다양한 문제를 해결하는 데 활용됩니다.

딥러닝

딥러닝(Deep Learning)은 머신러닝의 한 분야로, 복잡한 문제를 해결하기 위해 인공신경망(Artificial Neural Networks)이라는 구조를 사용하는 학습 방식입니다.
이 인공신경망은 사람의 뇌에서 영감을 받아 설계된 모델로, 실제 뉴런처럼 정보를 주고받으며 스스로 학습하는 구조를 가지고 있습니다.

딥러닝의 가장 큰 특징은, 사람이 일일이 규칙을 정의하지 않아도, 방대한 양의 데이터를 통해 스스로 패턴을 학습한다는 점입니다.
예를 들어 과거에는 바둑 프로그램을 만들기 위해 모든 수를 일일이 규칙(if-else)으로 정의해야 했습니다. 하지만 딥러닝은 그런 방식을 벗어나 경험을 통해 스스로 판단 기준을 만들어냅니다.

대표적인 사례가 DeepMind의 알파고(AlphaGo)입니다.
알파고는 수많은 기보 데이터를 학습하고, 스스로 수를 두어가며 학습을 반복함으로써 기존 바둑 프로그램이 넘지 못한 벽을 넘었고, 결국 인간 프로기사 이세돌을 이겼습니다.

딥러닝은 이미지 분류(CNN), 음성 인식(RNN, Transformer), 자연어 처리(BERT, GPT) 등 다양한 분야에서 뛰어난 성능을 보이고 있습니다.
예를 들어, 의료 영상에서 암세포를 탐지하거나, 특정 사진에서 강아지와 고양이를 구분하는 등의 작업은 딥러닝 없이는 불가능에 가까운 수준의 정확도를 요구하는 작업입니다.

단점도 있습니다.
딥러닝은 머신러닝보다 더 많은 데이터를 필요로 하고, 학습 과정에서 수많은 연산과 시간이 소요되며, 과적합(overfitting)처럼 학습 데이터에 너무 특화되어 일반화가 어려운 문제도 발생할 수 있습니다.
이러한 한계를 해결하기 위해 Dropout, Regularization, Early Stopping 등의 기법을 함께 사용합니다.

결론

딥러닝은 고전적인 AI 가 넘지못하였던 벽을 가볍게 뛰어넘고 있습니다. 이것은 사람이 프로그래밍하던 패러다임을 완전히 깨버리고, 컴퓨터가 프로그래밍 한 결과를 사람이 보고 반영하는 새로운 패러다임의 등장이라고 볼 수 있습니다.

앞으로 어떻게 될지 모르겠지만, 딥러닝의 발전은 인류의 한계를 뛰어넘어 새로운 도약을 이뤄주게 할 기술이라고 생각합니다.

AI 카테고리 내 다른 글 보러가기

댓글 남기기