1) 학습한 내용

머신 러닝

머신 러닝은 인간이 학습을 통해 정확도를 점진적으로 개선하는 방식을 모방하기 위한 데이터와 알고리즘의 사용에 초점을 맞추는 인공지능(AI) 및 컴퓨터 사이언스의 한 분야다.

머신러닝은 규칙을 일일이 프로그래밍하지 않아도 자동으로 데이터에서 규칙을 학습하는 알고리즘을 연구하는 분야로, 인공지능의 하위 분야 중에서 지능을 구현하기 위한 소프트웨어를 담당하는 핵심 분야다.

머신 러닝의 역사

인공지능artificial intelligence은 사람처럼 학습하고 추론할 수 있는 지능을 가진 컴퓨터 시스템을 만드는 기술로, 1943년 워런 매 컬러Warren McCulloch와 월터 피츠Walter Pitts는 최초로 뇌의 뉴런 개념을 발표했다. 1950년에는 앨런 튜링 Alan Turing이 인공지능이 사람과 같은 지능을 가졌는지 테스트할 수 있는 유명한 튜링 테스트 Turing Test를 발표한 뒤에 많은 과학자가 참여한 1956년 다트머스 AI 콘퍼런스Dartmouth AI Conference에서는 인공지능에 대한 장밋빛 전망이 최고조에 도달했다.

이 시기를 인공지능 태동기라고 한다.

그 이후 인공지능 황금기가 도래했는데, 대표적으로 1957년 프랑크 로젠블라트Frank Rosenblatt가 로지스틱 회귀의 초기 버전으로 볼 수 있는 퍼셉트론Perceptron을 발표했다. 1959년에는 데이비드 허블David Hubel과 토르스텐 비셀Torsten Wiesel이 고양이를 사용해 시각 피질에 있는 뉴런 기능을 연구했으며 나중에 두 사람은 그 공로를 인정받아 노벨상을 수상했다.

하지만 컴퓨터 성능의 한계로 인해 간단한 문제를 해결하는 것에 그치자 ❄첫 번째 AI 겨울❄이 도래했습니다. 이 기간에는 인공지능에 대한 연구와 투자가 크게 감소했다. 그다음 전문가 시스템이 등장했고 두 번째 AI 붐이 불었으나 역시 또 한계를 드러내고 두 번째 AI 겨울을 맞이합니다.

이 시기를 극복한 후에 인공지능은 다시 각광을 받기 시작했고 연구자들은 물론 대중 매체도 어느 때 보다 큰 관심을 가지게 되었다.

머신러닝의 목적과 분류

머신러닝의 목적

머신러닝을 수학 공식으로 나타내면 다음과 같다.

Y = F(X)

X : 우리가 가지고 있는 데이터를 의미하며, 입력변수 / 독립변수 / Feature이라고 부른다.

Y : 우리가 예측하고 싶은 데이터를 의미하며, 출력변수 / 종속변수 / 반응변수라고 부른다.

F : X를 통해서 Y를 예측할 수 있도록 입력변수와 출력변수간 관계를 의미한다.

머신러닝이란, 주어진 데이터를 통해 입력변수와 출력변수 간 관계를 만드는 함수 F를 만드는 것이라고 볼 수 있다.

머신러닝의 분류

1. 지도학습

Y = F(X)에 대하여 입력변수 X와 출력변수 Y의 관계에 대하여 모델링하는 것으로 '예측' 과 '분류'로 나뉘어진다.
- 예측 : 입력변수 X에 대해서 연속형 변수(예를 들어 키, 몸무게 등을 예측하는 경우) Y를 예측
- 분류 : 입력변수 X에 대해서 연속형 변수(예를 들어 등급 등을 나누는 경우) Y를 예측

2. 비지도학습

출력변수 Y가 존재하지 않고, 입력변수 X간의 관계를 모델링 하는 것.
- 군집분석 : 유사한 데이터끼리 그룹화
- PCA : 독립변수들의 차원을 축소

지도학습의 분류는 예를들어 소고기 등급을 예측을 하는 것에 대입을 한다면, 소고기 등급이 정해져 있고, 다른 여러 변수(X)들에 따라서 각각의 변수들이 등급에 미치는 영향을 분석하여 등급을 예측하는 것이라면, 비지도학습의 군집분석은 등급처럼 라벨링 된 데이터가 존재하지 않고, X의 데이터만 보고, 비슷한 그룹끼리 묶는 것이다.

조금 더 간단하게 이야기하자면, 분류는 이미 정해져 있는 기준에 따라서 해당 데이터가 그 기준에 따라 어디에 들어갈지를 예측하는 것이라면, 군집분석은 정해져 있는 기준이 없고, 데이터들의 특성을 스스로 판단하여 유사하다고 판단되는 것들끼리 묶는 것이다.

강화학습

Agent라는 문제 상황에서 행동하는 주체가 수많은 시뮬레이션을 통해서 현재의 선택이 미래의 보상을 최대로 만들어주도록 학습하는 것을 강화학습이라고 한다.
이 때, 현재 상태를 나타내는 것은 State(S), 행동을 취할 수 있는 선택지는 Action(A), 행동 중 하나를 했을 때 따라오는 이들을 Reward(R)이라고 한다. 각 상황에서 Agent가 어떤 행동을 취할지에 대해서 판단하는 방식을 Policy라고 한다. 각각의 Agent는 현재의 최대보상만을 따라가는 것이 아니라, 최종적으로 가장 큰 보상을 가질 수 있도록 행동해야하는 데, 이것을 예측 판단할 때 쓰이는 것을 가치함수이다.
대부분 강화학습은, 변수가 많이 존재하는 여러 게임에서 (스타크래프트, 바둑, 배틀그라운드 등) 많이 사용되는 기법이다.

딥러닝

많은 머신러닝 알고리즘 중에 인공 신경망artificial neural network을 기반으로 한 방법들을 통칭하여 딥러닝 deep learning이라고 부른다. 종종 사람들은 인공 신경망과 딥러닝을 크게 구분하지 않고 사용한다.

두 번째 AI 겨울 기간에도 여전히 인공지능에 대해 연구한 사람들이 있었다. 이들의 연구가 차츰 빛을 보면서 다시 인공지능 기술이 주목받기 시작했다. 1998년 얀 르쿤Yann Lecun이 신경망 모델을 만들어 손글씨 숫자를 인식하는 데 성공함으로써 이 신경망의 이름을 LeNet-5라고 하며 최초의 합성곱 신경망입니다.

그 이후 2012년에 제프리 힌턴Geoffrey Hinton의 팀이 이미지 분류 대회인 ImageNet에서 기존의 머신러닝 방법을 누르고 압도적인 성능으로 우승했습니다. 힌턴이 사용한 모델의 이름은 AlexNet이며 역시 합성곱 신경망을 사용했습니다. 이때부터 이미지 분류 작업에 합성곱 신경망이 널리 사용되기 시작했다.

국내에서는 2016년 이세돌과 알파고의 대국으로 인해 딥러닝에 대한 관심이 크게 높아졌습니다. 하지만 앞에서 소개했듯이 딥러닝은 2010년 초반부터 이렇게 새로운 혁명을 준비하고 있었습니다. LeNet-5나 AlexNet과 같이 인공 신경망이 이전과 다르게 놀라운 성능을 달성하게 된 원동력으로 크게 세 가지를 꼽을 수 있다.

출처

딥러닝의 작동 원리

1. 인공 신경망
머신러닝의 한 기법인 딥 러닝은 특정 형식의 인공 신경망(ANN)을 사용하며, 우선 샘플 데이터를 통한 훈련 작업이 필요하며 이후에 훈련된 ANN을 해당 작업에 사용할 수 있다. 훈련된 ANN의 사용하는 것을 "추론"이라고 한다. 추론이 진행되는 동안 ANN은 학습된 규칙에 따라 제공된 데이터에 대한 평가 결과를 다시 보고한다. 이러한 평가 결과는 입력 이미지에 결함이 있는지 또는 오류가 없는 객체를 나타내는지에 대한 추정 등이 될 수 있다.

2. 뉴런, 계층 및 연결
인공신경망(ANN)은 서로 연결된 "뉴런" 계층으로 구성됩니다. 가장 간단한 경우, 이 계층은 입력 계층과 출력 계층으로 구성됩니다. 뉴런과 연결(link)은 매트릭스에 비유할 수 있습니다. 링크 매트릭스는 입력 매트릭스 개별 값과 결과 매트릭스의 값 사이의 연결을 포함합니다. 연결 매트릭스의 값에는 각 연결의 가중치가 포함됩니다. 입력 값과 논리 매트릭스의 값에 가중치를 반영하면 결과 매트릭스의 개별 값이 생성됩니다.
3. 심층 인공 신경망
딥 러닝이라는 용어는 소위 "심층" 인공 신경망(ANN)에 대한 훈련을 의미합니다. 이 인공 신경망은 입력 및 출력 계층 뿐만 아니라 입력 및 출력을 위한 가시적인 계층 사이에 존재하는 수백 개의 추가적인 "숨겨진" 계층으로 구성됩니다. 숨겨진 계층의 결과 매트릭스는 다음 계층의 입력 매트릭스로 사용됩니다. 이 경우에는 마지막 계층의 출력 매트릭스에만 결과가 포함됩니다.
4. 훈련
인공 신경망(ANN)을 훈련할 때 초기 초점은 무작위로 설정됩니다. 그리고 나서 샘플 데이터가 서서히 추가됩니다. 학습 규칙은 입력 데이터 및 예상 결과에 따라 관계의 가중치를 조정하는 데 사용됩니다. 결과에 대한 평가의 정확성을 의미하는 ANN의 궁극적인 효과는 훈련에서 사용되는 예시 데이터에 큰 영향을 받습니다. 일반적으로 훈련 내용에 변동성이 높은 예시 데이터가 많이 포함될수록 추론에서 더 정확한 결과를 얻을 수 있습니다. 매우 유사하거나 반복적인 데이터를 사용하여 훈련을 수행하는 경우, ANN은 예시 데이터와 다른 분야의 데이터를 추정할 수 없게 됩니다. 이 경우 우리는 ANN이 "과적합(overfit)"하다고 표현합니다.
출처

데이터

프로그램을 운용할 수 있는 형태로 기호화·숫자화한 자료이다. 데이터 그 자체에는 아무 의미가 없지만 컴퓨터 공학에서는 데이터를 가공(Processing)하여 정보를 만든다. 이렇게 데이터를 처리하여 나온 결과를 정보라고 하며 정보란, 사용자의 의사결정에 도움이 될 만한 잘 정리 된 데이터를 말한다.

알고리즘

알고리즘이란 컴퓨터가 따라 할 수 있도록 문제를 해결하는 절차나 방법을 자세히 설명하는 과정이다. 이를 자세히 설명하면 컴퓨터를 활용한 문제 해결 과정에서 주어진 문제를 해결하는 일련의 방법 또는 절차이며, 문제해결 방법을 순서대로, 절차대로 나열한 것이라고 볼 수 있다.

회귀(regression)와 분류(classification)

분류는 미리 정의된, 가능성이 있는 여러 클래스 레이블 중 하나를 예측하는 것이다. 앞 장에서 붓꽃의 품종을 예측하는 것은 분류에 속한다. 분류는 두 개로 분류하는 이진 분류(binary classification)과 셋 이상으로 분류하는 다중 분류(multiclass classification)으로 나누어 진다. 이진 분류는 예 / 아니요만 나올 수 있다고 보면 된다. 남자, 여자로 나눌 수도 있지만, 남자인가? 라는 질문에는 예와 아니요로 바꿀 수 있기 때문에 결국 예 / 아니요라고 볼 수 있다.

붓꽃 예제의 경우 3개의 클래스를 가지고 있기 때문에 다중 분류이다.

회귀는 연속적인 숫자(실수)를 예측하는 것이다. 어떤 사람의 교육 수준, 나이 등을 이용해 연봉을 예측하는 것도 회귀 문제의 예이고, 몸무게를 이용해 키를 예측하는 것도 회귀 문제라고 볼 수 있다.

<h ref="https://knight76.tistory.com/entry/회귀regression와-분류classification-개념"

분류와 회귀의 주요 차이점

  1. 분류 프로세스는 이산 클래스 레이블에서 데이터가 예측되는 함수를 모델링을 하지만, 회귀는 연속적인 양을 예측하는 모델을 만드는 과정이다.
  2. 분류 알고리즘에는 의사 결정 트리, 로지스틱 회귀 등이 포함되는데, 대조적으로 회귀 트리 (예 : 랜덤 포리스트) 및 선형 회귀가 회귀 알고리즘의 예이다.
  3. 분류는 정렬되지 않은 데이터를 예측하고 회귀는 정렬 된 데이터를 예측한다.
  4. 회귀는 평균 제곱 오차를 이용하여 평가할 수 있다. 반대로 분류는 측정 정확도로 평가된다.
출처

K-ICT가입

K-ICT를 강사가 추천해주었는데,

https://kbig.kr/portal/kbig

위의 주소를 통해서 들어가서 회원가입을 한 다음에, 가입이 완료된다면 "데이터 공유"란을 눌러서 교육 동영상을 시청하면 된다.

2) 학습내용 중 어려웠던 점

이번 시간은 인공지능에 대한 개념을 알아가는 과정이다. 그리고, 오렌지라는 프로그램을 통해서 수업을 진행했는데 오렌지는 내가 예전에 게임 만들기를 독학 했을 때, 했었던 언리얼 엔진의 블루프린트와 똑같았다.

3) 해결방법

이번 시간은 크게 어렵지는 않았고 개념을 알아가는 과정이라 공책에다가 필기를 하고 동영상을 다시 반복 재생해서 들었다. 그리고, 강사의 진행을 따라갔었기에 별 다른 어려움은 없지만 처음으로 강사가 K-ICT가입을 냈었고 사이트에 동영상에 편향과 관련된 것을 관람할 것을 냈었다.

4) 학습소감

오늘은 드디어 인공지능에 관한 수업 첫 날이다. 인공지능을 미리 예습해 두었다고는 하지만 첫 날은 제대로 된 공부를 할 것이라고 기대를 했다. 수업 시간은 이전 수업과는 달리 오후 4시까지 진행되었지만 나는 이 일에 익숙해서 별로 놀라지 않았다.

0개의 댓글

Powered by GraphCDN, the GraphQL CDN