본문 바로가기
책/IT과학

인공 지능의 기초 : 기계 학습(Machine Learning) 강의 내용 정리

by Caferoman 2023. 11. 30.

LinkedIn Learning의 강의 인공 지능의 기초 : 기계 학습(Machine Learning) 내용 정리

머신 러닝(Machine Learning)

어원, 용어의 시작 : 컴퓨터 분야의 개척자였던 아서 새뮤얼(Arthur Samuel)이 1959년 특정 작업 수행을 위해 컴퓨터를 프로그래밍하는 대신 인간 행동을 배울 수 있는지를 궁금해하면서 창안한 개념.

  • 고전 컴퓨터가 무슨 작업을 해야 하는지 정확한 값을 넣어야 한다고 봤던 대부분의 컴퓨터 과학자와 달리 자세한 명령 값을 만들지 않고 대신 컴퓨터에 문제를 연구하고 해결하는 데 필요한 정보와 도구를 제공
  • 컴퓨터가 이전에 했던 작업을 기억해서 적응, 진화해서 배울 수도 있는 능력을 심어 주는 것
  • 인간이 작은 문제부터 시작해서 더 큰 일을 해결하는 방법을 배우는 방식과 유사함 : 경험을 바탕으로 규칙을 만들고 더 큰 행동으로 옮기기 위해 이 규칙을 활용하고 그다음에는 규칙을 그대로 둘지 수정이 필요한지 피드백을 반영함. 이후 유용한 새 규칙을 배울 때마다 머릿속에 기억
  • 기계는 새로운 것을 배울 때마다 이를 데이터베이스에 추가함. 해결 방법을 개선하고 적응하려고 오래 기억할 수 있는 데이터로 저장

머신러닝이 데이터를 활용하는 방식

단순하게 미리 지정된 응답만으로는 입력 값 명령을 만들 수 없음 : 이 점이 바로 머신 러닝이 문제를 다각도에서 보는 이유

 

머신러닝은 지시 값 대신 데이터를 입력함

머신러닝에서 사용되는 데이터는 크게 교육용 데이터와 시험용 데이터로 나눠볼 수 있음

 

교육용 데이터 : 패턴 찾기에 사용, 기계가 통계 알고리즘을 사용해 데이터를 더 잘 이해하도록 도와줌. 시험용 데이터에 적용해 보기 전에 본보기 사례를 만들고 개선해 보는 용도.

 

머신 러닝 전문가는 최상의 알고리즘을 결정해야 하며 이후 기계가 내린 판단의 신뢰도가 일정수준 이상으로 확보되기 까지 알고리즘의 하이퍼파라미터를 변경해 나가야 함. 만족스러운 결과가 나오면 해당 설정은 초기 데이터 모델이 됨. 

 

프로그래머가 데이터를 입력하고 알고리즘을 선택한 뒤 수정을 거치더라도 판단과 결정을 내리는 주체는 결국 기계임. 경우에 따라서 기계가 판단하는 기준을 프로그래머가 모를 때도 있음

 

기계 학습 적용

방대한 양의 데이터를 수집하는 일은 아주 쉽다. 어려운 일은 수집한 데이터를 이해하는 능력을 얻는 것.

머신 러닝은 프로그램이 많은 양의 데이터 세트에서 패턴을 찾도록 인공 지능을 활용. 종종 인간은 절대 찾을 수 없는 패턴을 찾기도 함. 머신 러닝은 인간 학습 형태가 발전된 모습일 뿐만 아니라 패턴을 찾고, 결정을 내리며 훨씬 깊은 통찰력을 얻는 새로운 방법이기도 함. 

 

기계 학습 유형

머신 러닝은 통계에 기반하지만 기계에게 통계란 그저 배워야 할 도구일 뿐이다.

  • 지도 학습(Supervised Learning) : 데이터 과학자가 기본 규칙과 전반적인 전략을 알려주면서 기계를 훈련시킴, 이를 알고 있는 상태에서 데이터를 관찰하면서 새로운 전략을 보고 내 전략을 개선
  • 자율 학습(Unsupervised Learning) : 모든 관찰을 기계 스스로 함. 규칙이나 전략의 선행학습 없이 데이터 안에서 패턴을 스스로 찾아냄.
  • 부분 지도 학습(Semi-Supervised Learning) : 기계를 조금만 훈련해서 전반적인 내용을 수준 높게 이해하도록 한 뒤 다른 패턴을 관찰하면서 대부분의 규칙과 전략을 배움

 

감독형(Supervised Learning)

각기 다른 변수와 이미 나온 결과값을 연결할 수 있는 특성을 기계에 보여줌. 머신 러닝에서는 이를 표본 분류 데이터 (Labeled data) 및 올바른 출력 값이라 부름. (분류 데이터(Labeled data)라 부르는 이유는 이미 식별 정보로 분류됐기 때문)

기계를 훈련하는 것은 분류 데이터 세트를 만드는 것부터 시작 > 교육용 세트를 기반으로 기계는 분류 데이터(견본 데이터) 사이의 관계 구조를 찾음. > 이후 기계는 교육용 세트를 시험용 세트에 적용하고 시험용에 적용한 교육용 사례를 오랜 시간 지켜보면서 규칙이 들어맞는지 확인. > 시간이 지나면 기계는 이 견본을 학습하고 조정하면서 출력 값을 향상시킴 > 기계는 계속해서 교육용 견본 데이터를 조정하며 새로운 데이터에 적응함.
분류 데이터는 지도 학습과 다른 형태의 머신 러닝 간의 주요 차이점

 

비 감독형(Unsupervised Learning)

관찰과 연구의 과정에서 시행착오를 통해 배우고 나아짐
지도 학습과 다르게 분류 데이터로 작업하지 않음. (기계에 정확한 답을 보여주지 않음) 기계가 데이터를 연구 관찰하고 연관성을 만들도록 함. 데이터를 연구하고 자신만의 관찰을 통해서 연결 고리를 만들거나 새로운 규칙을 발견하기도 함
자율 학습의 핵심은 엄청난 양의 데이터에 접근이 가능. 데이터를 더 많이 가질수록 기계는 동향을 연구하고 관찰하기가 더 쉬워지고 더 가치 있는 군집을 만듦.

 

반 감독형(Semi-supervised Learning)

부분 지도 학습은 지도 학습과 자율 학습의 두 가지 장점을 섞은 형태
자주 쓰는 어휘로 구성된 작은 교육용 세트부터 시작 > 기계는 이를 사용해서 기본 분류 작업을 수행 > 교육용 세트를 기계에 입력한 뒤 나머지 데이터를 연구하고 관찰 > 기계는 이미 분류한 데이터를 기반으로 확장 귀납적 추론(Inductive Reasoning) 방법으로 처리할 수 있는 어휘 범위를 확장. 기계는 새로운 연결점으로 귀납될 때마다 본보기 사례를 개선하려고 최선을 다합니다. 정확한 결과가 나왔다면 그 어휘를 전부 추가(이 때에 보통 인간 검수자한테 피드백을 받음)
전환적 추론(Transductive Reasoning) : 부분 지도 학습의 또 다른 형태, 수집 목록에 대해 이미 아는 내용을 고려해서 분류되지 않은 데이터 범위를 좁히는 방법. 분류되지 않은 데이터 안에서 더 나은 추론을 해 사례를 개선하는 방법

 

부분 지도 학습은 웹 페이지 분류 또는 곤충 사진만 분류하는 등의 그룹화 기능에서 유용.
다른 두 가지 접근법이 문제를 해결하기 어려울 때 이 방식이 효과적.
귀납적, 전환적 추론은 훨씬 심각한 오류와 잘못 분류된 데이터로 이끌 수 있어 주의 필요.

 

강화(Reinforcement Learning)

강화 학습은 지도 학습과 자율 학습뿐만 아니라 부분 지도 학습과도 다름. 강화 학습은 머신 러닝에서도 가장 유망한 분야 중 하나.
기계를 작동시키고 싶은 특정 방식으로 강화. (모든 걸 연구하고 관찰하도록 내버려 두지 않고 기계에 아주 명확한 목표를 심어주는 방식)

 

DeepMind 팀은 Q-Learning이라는 단어를 썼습니다. Q-Learning은 더 높은 차원의 보상이 필요한 복잡한 게임 일부를 지원했습니다. Q-Learning에서는 환경이나 상태가 정해져 있습니다. 이런 상태에 대응이 가능한 조치도 따로 있죠. Q-Learning에서는 기계가 결과 품질을 개선하길 원하고 개선된 결괏값을 Q로 표시합니다. 품질 수준이 0에서부터 시작, 이후 기계가 학습을 통해 개선 작업이 이루어질 때마다 순위가 바닥에서 올라갑니다. 순위는 상태 및 작업 수행을 기반으로 상승하겠죠.

 

기계가 최고의 전략을 찾을 때까지 끊임없이 작업 수행과 상태 개선을 하도록 만듬. 

 

2015년 구글의 DeepMind Project는 AlphaGo 프로그램이 프로 바둑 기사를 처음으로 이겼다는 뉴스를 냈습니다. 알파고는 자율 학습 형태를 활용해서 프로 선수들의 게임을 관찰하는 방식으로 바둑을 배웠습니다. Google의 새로운 프로그램 AlphaGo Zero는 주로 Q-Learning 방식으로 학습했습니다. 프로 선수들이 하는 게임을 관찰하기보다 AlphaGo Zero는 게임에 참여해서 상태를 변화하고 이기기 위해 다른 행동을 시도했습니다. 몇 시간 내에 이 Q-Learning 기계는 인간이 이해할 수 없는 수준으로 바둑을 뒀습니다. 70시간의 교육만을 거쳐 AlphaGo Zero는 첫 100번의 시도 만에 이전 버전인 AlphaGo를 이겼습니다. 강화 학습 중에서도 특히 Q-Learning 방식은 인간이 이해할 수 없을 정도로 기계가 빠르게 성장하도록 합니다. 자율 학습에서 필요한 단계조차 건너뛰는 식으로 발전한 거죠. 엄청난 양의 데이터를 몇 시간씩 투자해서 관찰하고 연구할 필요가 더는 없어졌으니까요.
반응형

댓글