Coding Story

[Python] AI를 활용한 무인이동체 개발 교육 11일차 (22.05.10) 본문

University Study/AI복합교육

[Python] AI를 활용한 무인이동체 개발 교육 11일차 (22.05.10)

always7767 2022. 5. 10. 17:56

① 인공지능(Artificial Intelligence)
 인간이 인공적으로 만들어 낸 지능
 어떤 목적을 성공적으로 달성할 수 있는 기술
 기계를 인간과 비슷하게 동작하게 하는 기술
      - 인식(보기, 듣기)
      - 이해(학습, 분석)
      - 반응(결과)

▶ 참고 영상

[영상 1] 인공지능(Artificial Intelligence)의 역사
[영상 2] : 인공지능 (AI)

② 인공지능 - 튜링 테스트 (Turing Test)
 1950년 앨런 튜링은 컴퓨터가 인간과 같은 지능적 행동을 보일 수 있을지 실험하는 튜링 테스트 제안
 튜링 테스트는 인공지능에 대한 최초의 심도 깊은 철학적 제안
 튜링테스트 통과 : 유진구스트만(2014년), 알파고(2016년)
→ 인공지능 발전 배경 : 빅데이터(학습 데이터 축적), 하드웨어의 발전, 클라우드서비스의 보편화(저장,관리,운영), 알고리즘의 발전
→ 구글의 인공지능(2018년) : https://www.youtube.com/watch?v=D5VN56jQMWM (1:11. 3:00 구간 보기)

[영상 3] 구글의 인공지능

[그림 1] 튜링 테스트 = 3명의 질문자 중 한 명을 컴퓨터가 속일 수 있으면 테스트 통과

③ 머신러닝 (Machine Learning)
- 데이터를 통해 인공지능을 만듬
- 기계가 학습하는 것
- 머신러닝의 학습재료는 빅데이터
- 빅데이터 속에서 스스로 규칙을 찾고 그 규칙을 학습
- 데이터를 사용하여 기계가 스스로 학습하는 방식

④ 딥러닝 (Deep Learning )
-  머신러닝이 인공지능을 만드는 방법 중 하나
- 사람이 뇌에서 이루어지는 원리를 이용하여 인공지능을 만드는 방식 → 인공 신경망 (ANN : Artificial Neural Network)
- 여러 개의 깊은 층으로 구성된 인공 신경망 → 심층 신경망 (DNN : Deep Neural Network)
- 딥러닝 → 이 심층 신경망이 학습하는 과정

⑤ 인공지능 VS 머신러닝 VS 딥러닝
 인공지능 : 인간과 행동과 유사하게 사고하는 컴퓨터의 지능을 일컫는 포괄적 개념
 머신러닝 : 경험적인 데이터를 바탕으로 지식을 자동으로 습득하여 스스로 성능(정확도, 속도, 응용범위 등)을 향상 시키는 기술
 딥러닝 : 인공 신경망 이론을 기반으로 인간의 뉴런과 유사한 입출력 계층 및 여러 개의 은닉 계층을 활용하는 기술

[그림 2] 인공지능 연도별 변화
[그림 3] 인공지능, 머신러닝, 딥러닝 구분


⑥ 일반 프로그래밍 방식과의 차이
ㆍ일반적인 컴퓨터 프로그래밍
     - 사람이 알고리즘 설계 및 코딩
     - 주어진 문제에 대한 답 출력

일반적인 컴퓨터 프로그래밍
[그림 4] 일반적인 컴퓨터 프로그래밍


 머신러닝 프로그래밍
       - 사람이 코딩
       - 기계가 알고리즘을 자동 프로그래밍
       - 데이터에 대한 프로그램을 출력
       - 빅 데이터가 기반에 존재

머신러닝 프로그래밍
[그림 5] 머신러닝 프로그래밍


⑦ 머신러닝의 두 단계
ㆍ 학습단계 : 데이터 수집 → 학습 → 모델 생성

 인식(판단, 예측) 단계 : 새로운 데이터 → 학습된 모델 → 판단/예측


⑧ 머신러닝의 학습 방법
 결정(판단력) = 비교 + 선택
 머신러닝의 분류 
        - 지도학습 (supervised learning) : 분류(classification), 회귀(regression)
        - 비지도학습 (unsupervised learning) : 군집화(clustering), 변환(transform), 연관(association)
        - 강화학습(reinforcement learning)

▶ 참고 영상 ◀

[영상 4] 인공지능의 학습법과 응용 사례 (9분 34초)

[그림 6] 기계학습



⑨ 지도학습(Supervised Learning)
ㆍ인공지능을 정답(레이블)을 가지고 학습시킴

ㆍ분류 (Classification)
        - 이진분류 : 두 가지를 구분할 수 있는 분류 (예) 폐사진 CT에서 암인지 아닌지 구분
        - 다중분류 : 3가지 이상을 구분할 수 있는 분류 (예) 새의 종류, 꽃 종류, 지폐 종류 등 구분

ㆍ 회귀 (regression)
        - 둘 이상의 변수 간의 관계를 보여주는 통계적 방법
        - 연속적인 값을 예측하는 것
       예) 주식 예측, 학생의 성적 예측, 집 값 예측 등

⑩ 비지도학습 (Unsupervised Learning)
ㆍ인공지능을 정답이 없는 데이터를 사용하여 학습시킴
대상의 특징을 살펴보고 그 특징에 따라 구분함
현실 문제에서는 정답이 없는 경우가 더 많음으로 유용함

군집화(Clustering) 
       - 데이터의 특징들을 파악하여 여러 그룹으로 묶어냄
          적용 예시 : 동영상 스트리밍 서비스의 추천 알고리즘, 구매 내역을 바탕으로 상품 추천

[그림 7] 비지도학습 - 군집화


차원축소 (Dimensionality reduction)
       - 데이터의 특징(feature) 들을 파악하여 중요한 몇가지로 축소

         적용 예시 : 집 값을 예측하기 위한 데이터에서 피처는 방의 갯수, 범죄율, 고속도로 접근성, 편의시설, 가격 등이 있음
                             이 중 방의 개수와 범죄율 정도로 피처를 줄여 집 값 예측

⑪ 강화학습 (Reinforcement learning)
ㆍ인공지능의 수준을 높이기 위해 시행착오를 사용
강화학습 사례 : 
       -  딥마인드에서 제작한 벽돌깨기 게임 

[영상 5] 딥마인드에서 제작한 벽돌깨기 게임

       -  딥마인드가 걷는 것을 학습 : 걷는 것을 직접 알려주지 않고 무게 중심이 어떠할 때 넘어지는 지에 대한 정보만 입력하고 넘어지지 말라는
                                                               명령만 함 (로봇에게 적용)

[영상 6] 딥마인드가 걷는 것을 학습

⑫ 딥러닝과 인공신경망
ㆍ딥러닝
     - 머신러닝의 한 방법
     - 인간의 뇌와 흡사하게 구현한 인공신경망 알고리즘 (Artificial Neural Network) 을 적용하여 보다 빠르고 효율적으로 학습하는 인공지능

ㆍ인공신경망
     - 인간의 뇌 속 뉴런의 작용에 영감을 얻은 통계학적 학습 알고리즘


⑬ 뉴런(Neuron)
ㆍ신경세포체(cell body, soma)
    - 세포핵이 있으며 많은 수상돌기와 하나의 축삭돌기가 연결되어 있음
    - 일정시간 동안 들어온 자극은 세포체내에서 가중됨

ㆍ수상돌기(dendrite) 
    - 세포체 주위에 섬유 더미 모양으로 연결되어 있으며 인접한 뉴런으로부터의 신호가 세포체로 들어오는 통로 역할

ㆍ축삭돌기(axon) 
    - 하나의 가늘고 긴, 신경섬유로 인접한 뉴런으로 세포의 흥분을 전달하는 통로 역할

ㆍ축산둔덕(axon hillock)수상돌기를 통해 입력된 자극이 임계치보다 적을 경우에는 반응하지 않음

ㆍ시냅스(synapse) 
    - 뉴런들간의 연결 부위, 흥분성과 억제성의 두 종류가 있음

[그림 8] 뉴런 참조 사진

⑭ 단층 인공신경망(퍼셉트론)
- 1957년 코넬 항공 연구소의 프랭크로 젠블랫(Rosenblatt)이 제시한 모형
- 다수의 입력신호(x)를 받아 하나의 출력신호를 내보냄
- 입력신호의 세기에 따라 다른 가중치를 부여

[그림 9] 뉴런 VS 단층 인공신경망


⑮ 다층 인공신경망
- Input Layer (입력층) :  데이터가 입력되는 계층, 수상돌기의 역할
Hidden Layer (은닉층) :
데이터가 전달되는 계층, 뉴런-시냅스-축색돌기-뉴런 등 신호의 전달 계층
- Output Layer (출력층) :  데이터가 출력되는 계층, 운동기관을 통해 반응여부를 결정하는 기능
- Units : 데이터를 받아들여 다음 계층으로 전달할지 판단, 신경망 뉴런의 역할
- Weights : 전/후 Units를 잇는 화살표, 각 Units의 연결 강도를 결정하는 가중치, 시냅스 틈을 타고 전달되는 신경 전달 물질의 강도, 특정 감각에 대하여
                      민감한지 둔감한지 여부
- Activation (Function) : Units에서 다음 신호로 보낼지 판별하는 함수, 뉴런에서 계산된 값이 임계치를 넘는지 여부와 이를 토대로 다음 신호 전달여부
                                                 를 활성화 할 것인지 판단

[그림 10] 다층 인공신경망


 딥러닝 (Deep Learning)
- 2000년대 들어서 인공지능 알고리즘 개선, 빅데이터의 등장, 컴퓨팅 파워의 비약적 향상으로 깊은 구조를 가진 딥러닝 기술이 대두됨
- 은닉층이 많아지면 인공신경망이 깊어졌다(deep)고 하는데 이를 두고 딥러닝 또는 심층 신경망이라는 명칭이 생김
- 일반적으로 신경망에서 은닉층과 출력층이 2개 이상이 되면 심층신경망이라함

[그림 11] 딥러닝

 


[ 금일 수업 내용 ]

11일차 - 2022. 05. 10 (화).txt
0.01MB
AI를 활용한 무인이동체 개발 교육_퀴즈_20220510.pdf
0.08MB


[ 자료 출처 ]
( 영상 ) : Youtube
ㆍ [영상 1] : 인공지능(Artificial Intelligence)의 역사
 [카오스 술술과학] 일반인이 알아야 할 AI 상식 : AI의 역사 | 카오스 첨단기술 시리즈(7)

ㆍ [영상 2]  : 인공지능 (AI)
 [카오스 술술과학] AI : 허락하시면 사람이 될게요! | 카오스 첨단기술 시리즈(8)
ㆍ [영상 3] : 구글의 인공지능
Google Duplex: A.I. Assistant Calls Local Businesses To Make Appointments
ㆍ [영상 4] : 인공지능의 학습법과 응용 사례 (9분 34초)
인공지능의 학습법과 응용 사례 (머신러닝, 딥러닝, GAN) [안될과학-긴급과학 X 삼성SDS ]
ㆍ[영상 5] : 딥마인드에서 제작한 벽돌깨기 게임
DeepMind Made A Superhuman AI For 57 Atari Games! 🕹
ㆍ[영상 6] : 딥마인드가 걷는 것을 학습
Google's DeepMind AI Just Taught Itself To Walk

( 이미지 )
ㆍ[그림 2] 인공지능 연도별 변화 :  https://medium.com/@alanb_73111/artificial-intelligence-vs-machine-learning-vs-deep-learning-ai-vs-ml-vs-dl-e6afb7177436
ㆍ[그림 3] 인공지능, 머신러닝, 딥러닝 구분 : https://samstory.coolschool.co.kr/zone/story/modi/streams/76601
ㆍ[그림 6] 인공지능 학습법 : 머신러닝야학 (https://ml.yah.ac/)
ㆍ[그림 11] 딥러닝 (Deep Learning) :  http://neuralnetworksanddeeplearning.com/chap6.html


들은 것은 잊어버리고, 본 것은 기억하고 직접 해본 것은 이해한다.     - 공자-
I hear and I forget. I see and I remember. I do and I understand  - Confucius -

 

Comments