본문 바로가기
Study/Machine Learning

Do it! 딥러닝 입문 - Ch 1 & Ch 2 정리

by Jamie Lim 2021. 3. 29.

Chap 1. 딥러닝을 소개합니다

1-1. 인공지능 소개

인공지능이란?

- 사람의 지능을 만들기 위한 시스템이나 프로그램 (ex. 알파고, 음성비서)

 

- 강 인공지능(Strong AI) : 사람과 구분이 안 될 정도로 강한 성능을 가진 인공지능

- 약 인공지능(Weak AI) : 특정 분야에서만 활용이 가능하며 입력한 규칙을 벗어난 창조는 불가능 하다
                               
그 동안의 인공지능 기술은 모두 약 인공지능 (ex. 자율 주행 자동차, 음성 비서 등)

 

- 머신러닝과 딥러닝, 인공지능의 관계

   > 머신러닝과 딥러닝은 인공지능에 포함되는 기술

   > 머신러닝 중 인공신경망 알고리즘을 사용해 만든 것이 딥러닝

 

1-2. 머신러닝 소개

- 머신러닝은 스스로 규칙을 수정한다

   > 학습 : 데이터의 규칙을 컴퓨터 스스로 찾아내는 것
             
사람이 만든 프로그램이지만 규칙을 스스로 찾아 수정한다
             
여기서 규칙을 찾아 수정하는 과정을 학습 혹은 훈련이라고 한다

 

- 머신러닝은 학습 방식을 이해한다.

   > 지도학습 : 훈련 데이터(모델을 훈련시키기 위해 사용하는 데이터)는 입력과 타깃으로 구성됨
                   
입력 : 모델이 풀어야 할 문제     타깃 : 모델이 맞춰야 할 정답
                   
모델 : 학습을 통해 만들어진 프로그램으로 새로운 입력에 대한 예측을 만들어낸다

 

   > 비지도학습 : 타깃이 없는 훈련 데이터를 사용하는 것
                     
군집(비슷한 것들을 모아 그룹을 만든 것)을 통해 학습한다
                     
타깃이 없는 훈련 데이터로 학습해 훈련 결과를 평가하기 어려움

 

   > 강화학습 : 주어진 환경으로부터 피드백을 받아 훈련 (ex. 알파고)
                     머신러닝 알고리즘으로 에이전트로 훈련을 시킨다 (ex. Q-러닝, SARSA, DQN)

* 에이전트 : 특정 환경에 최적화된 행동을 수행하고 이에 대한 보상과 현재 상태를 받는다.

                 에이전트의 목표는 최대한 많은 보상을 받는 것

 

- 규칙이란?

   > 가중치와 절편 : 가중치는 입력과 곱하는 값, 절편은 입력에 더하는 수 (= 모델 파라미터)
                         
만약 규칙에 입력했을 때 타깃 값이 맞지 않다면 가중치와 절편을 수정해야 한다
                          
이때, 모델 규칙을 수정에 기준이 되는 함수를 손실 함수라고 한다

 

1-3. 딥러닝 소개

- 머신러닝 알고리즘 중 하나로 복잡한 문제를 해경하기 위해 다양한 인공신경망을 쌓아 만든 것

- 입력을 받아 출력으로 전달하는 인공신경망은 뇌의 뉴런에서 영감을 받은 기술이지만 실제 뇌가 작동하는 방식과는 많이 다르다

- 딥러닝과 머신러닝의 대표적인 차이점은 처리하는 데이터이다
  >
딥러닝 : 이미지/영상, 음성/소리, 텍스트/번역, 등의 비정형 데이터 (인지와 관련된 문제에 강함)
  >
머신러닝 : 데이터베이스, 레코드 파일, 엑셀/CSV 등에 담긴 정형 데이터

 

 


Chap 2. 딥러닝을 위한 도구

1. 넘파이 (numpy)

- 여러 머신러닝과 딥러닝 패키지가 넘파이 기반으로 구현되었고 넘파이 인터페이스를 계승하고 있으므로 넘파이는 꼭 익혀야 하는 패키지 중 하나이다

 

1) 넘파이 import하기

- 파이썬 패키지들은 보통 __version__을 통해 버전을 알 수 있다.

 

2) 넘파이로 배열 만들기

  (1) array()2차원 배열 만들기

 

  (2) type()으로 넘파이 배열인지 확인하기

    - my_arr가 넘파이 배열 클래스인 ndarray의 객체인 것을 알 수 있다.

 

  (3) 넘파이 배열에서 요소 선택하기

    - 파이썬 리스트에서 요소를 선택하는 방법과 동일

 

  (4) 넘파이 내장 함수 사용해보기

    - 내장 함수를 통해 여러 수학 함수 등을 통해 손쉽게 결과를 도출할 수 있다

 

2.  맷플롯립 (matplotlib)

1) 선 그래프 그리기

- y= x2 를 표현한 선 그래프

 

2) 산점도 그래프 그리기

- 데이터의 x, y축 값을 점으로 그래프를 그린 것

 

3) 넘파이 배열로 산점도 그리기

- 1000개의 난수를 생성해 만든 산점도 그래프

댓글