인공지능 기초

지상 최악의 개발자·2024년 5월 19일

📕혼자 공부하는 머신러닝 딥러닝을 학습한 내용을 정리한 문서입니다.

공식 깃허브 링크

📖 개론

인공지능은 사람처럼 학습하고 추론할 수 있는 지능을 가진 컴퓨터 시스템을 만드는 기술이다. 인공지능의 역사는 지금으로부터 80년 전 앨런 튜링이 인공지능이 사람과 같은 지능을 테스트할 수 있는 튜링 테스트를 발표하면서 태동한다. 이 시기를 인공지능 태동기라고 한다.

이후 프랑크 로젠블라트가 퍼셉트론을 발표하면서 인공지능 황금기가 시작된다. 하지만 1950 ~ 60년대는 아직 컴퓨터의 성능에 한계가 명확했던 시대이기에 인공지능의 성능은 아주 간단한 문제를 해결하는 것에 그쳤고, 한동안 인공지능에 겨울이 도래했다. 전문가시스템이 등장하면서 잠깐 인공지능 붐이 찾아오기도 했지만 잠시 뿐이었다.

시간은 현재에 이르러, 컴퓨터의 성능이 기하급수적으로 발전했고 다시 인공지능이 각광을 받고 있다. 지금은 어디를 가더라도 인공지능이라는 글자가 보이고 대부분의 기업들은 인공지능으로 공격적인 마케팅을 펼치고 있다. 2016년 알파고를 시작으로 인공지능은 이제 우리의 일상생활에도 깊숙히 침투해 자리잡았다.


🧠 강/약인공지능

인공지능은 약인공지능과 강인공지능 두 가지로 분류해볼 수 있다. 아이언맨의 자비스, Her의 사만다처럼 사람과 구분하기 어려운 지능을 가진 컴퓨터 시스템을 강인공지능이라고 한다.

반면 우리가 현실에서 마주하는 인공지능은 약인공지능이다. 약인공지능은 아주 좁은 특정 분야에서 사람이 해내는 일을 도와주는 역할만 할 수 있다. 음성비서, 자율주행 자동차, 기계 번역, 음악 추천, 알파고 등이 약인공지능이다.

머신러닝과 딥러닝

머신러닝은 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야이다. 머신러닝 알고리즘 중에 인공 신경망을 기반으로 한 방법을 딥러닝이라고 한다. 어떤 사람들은 인공신경망과 딥러닝을 구분하지 않고 사용하기도 한다.

  • 머신러닝 : 스스로 데이터에서 학습하는 알고리즘
  • 딥러닝 : 인공신경망을 사용한, 머신러닝의 한 분야

지도학습과 비지도 학습

머신러닝 알고리즘은 크게 지도 학습과 비지도 학습으로 나뉜다. 둘의 차이는 훈련하기 위한 데이터에 정답이 있는가에 달려있다.

  • 지도학습 : 훈련하기 위한 데이터에 정답이 있다. 개와 고양이 사진을 주며 어떤 것이 개, 어떤 것이 고양이인지 정답을 알려주고 훈련시킨다. 인공지능은 사진을 보면 개인지 고양이인지 정답을 맞춘다.
    이때 개, 고양이 사진을 입력 input
    알려준 정답을 타깃 target 이라고 한다.

  • 비지도학습 : 데이터에 정답이 없다. 정답을 알려주지 않고 개와 고양이 사진을 잔뜩 준다. 인공지능이 사진을 보고 정답을 맞힐 수는 없지만 데이터를 분류하고 파악한다.


📑 데이터 나누기

머신러닝의 훈련에 사용되는 데이터는 머신러닝의 평가에 사용되는 데이터와는 달라야한다. 모의고사 문제와 수능 문제가 똑같다면 다들 쉽게 만점을 받아버릴테니까. 머신러닝의 훈련과 정확한 평가를 위해서 보통은 준비된 데이터를 두 개로 나눈다.

  • 테스트 세트 : 평가에 사용하는 데이터
  • 훈련 세트 : 훈련에 사용되는 데이터

테스트 세트의 데이터는 훈련에 사용된 데이터를 재사용해서는 안된다.

📑 샘플링 편향

생선은 분류하는 머신러닝을 만든다고 해보자. 생선에 대한 데이터를 잔뜩 준비해야 할 것이다. 이때 하나의 생선 데이터를 샘플이라고 한다.

이제 각 샘플들을 적절히 묶어 테스트 세트와 훈련 세트로 나누어야 할 것이다. 생선이 참치와 복어 두 종류라고 가정해보자. 테스트 세트엔 참치 샘플들로만 구성하고, 훈련 세트엔 복어 샘플로만 구성하면 어떻게 될까? 당연히 머신러닝은 두 생선을 분류하지 못하게 된다. 이러한 현상을 샘플링 편향이라고 부른다. 각 세트에는 샘플이 골고루 섞여 있어야 한다.

📑 데이터 전처리

각 샘플을 분류하는데 샘플이 가진 특성값들을 기준으로 한다. 생선 데이터에 특성으로 무게와 길이가 있다고 하자. 무게값의 범위는 0 ~ 1000, 길이 값의 범위는 10 ~ 40 정도 될 것이다. 이렇게 두 특성 간 범위(스케일)이 매우 다르다면, 클래스를 분류하는데 스케일이 작은 특성은 무시되고 스케일이 큰 특성의 힘이 매우 강해지는 일이 벌어진다. 두 특성이 주는 영향을 같게 만들기 위해서 스케일을 일정한 기준으로 맞춰주어야 한다. 이 과정을 데이터 전처리라고 한다.

표준점수는 가장 널리 사용되는 전처리 방법이다. 각 특성값이 평균에서 표준편차의 몇 배만큼 떨어져 있는지 나타낸다.


머신러닝 기초용어 정리

분류 : 여러개의 종류 중 하나를 구별해 내는 문제
클래스 : 분류로 구분되는 종류 ex) 동물 분류에서 개, 고양이, 참새
이진분류 : 2개의 클래스 중 하나를 고르는 문제

특성 feature : 데이터의 특징
입력 input : 지도학습에서 제공하는 데이터
타깃 target : 지도학습에서 알려주는 정답

훈련 training : 답을 찾기위한 학습과정
정확도 accuracy : 분류해낸 결과와 정답간의 차이

0개의 댓글