대학교 수업/AI 실무 특강 (방학특강)

1.2 딥러닝 개요 _ 인공지능이란

kicdor 2024. 9. 3. 10:53
반응형

1.4 인공지능의 현재와 미래

1)  인공지능의 겨울이 또 오지는 않을까?

: 지금까지 두 번의 인공지능의 겨울이 있었다(AI 제품 실패). 그렇다면 세 번째 인공지능의 겨울이 올 가능성은 없을까?

>> 현재는 탄탄한 시장이 형성되어 있기 때문에 세 번쨰의 인공지능 겨울이 올 가능성이 적다.

>> 인공지능 기술이 발전하면서 (모든 공학 문제에서 그러듯이) 난제에 부딪히게 될 수 있다. 사람들이 인공지능을 당연시하게 바라보는 시점에서, 인공지능이 해결하지 못한 난제에 대해 고민하게 되는 순간은 올 수 있을 수도 있다. 

 

 

2) 인공지능 시장 대규모 투자

(1) 국내 : 삼성, 카카오, 네이버, KT

(2) 국외 : Google, Apple, Microsoft, Facebook, Amazon, Nvidia, Alibaba 등

(중국의 인공지능 시장이 빠르게 발전 중. 개인정보보호로 인해 데이터를 확보하는 데에 어려움이 있는데 중국은 이러한 문제가 잘 없기 때문)

(투자가 많다 = 돈 벌기 좋다)

 

 

3) 인공지능이 어떤 분야에 적용이 되는지 검색

: 위키 백과,   "Applications of artificial intelligence" 로 검색.

(인공지능이 어디에 사용되고 있는지) (음...굳이긴함..)

 

 

4) 인공지능 제품

(1) 자율주행

: CNN (이미지 처리), reinforecement train (강화학습, 스스로 학습) 사용.

 

(2) 인공지능 의료 (랜드마크 검출)

: 의사마다 다른 판단을 할 때가 있음. 의료영상(CT, MRI, X-ray 등)이 비파괴적인 방법을 사용하기 때문에 겹치는 부분도 있고, 노이즈로 인해 있는데 없어보이기도 한다. >> 의사의 경험과 노하우에 의지. 주관적. >> 의사마다 판단 달라짐.)

그래서 컴퓨터 그래픽스의 원리를 적용하고 인공지능으로 판단할 수 있도록 함. >>  사람보다 정확한 결과 도출.

 

+) 랜드마크 (landmark)

: 특징점. 사람 신체 조직에서 나타나는, 사람마다 다를 수 있지만 있을 수 밖에 없는 부분.  

 

(3) 인공지능 예술 (Generative AI)

: 세상에 존재하지 않는 사람을 그리거나, 새로운 음악을 작곡하는 등을 하는 AI.  game modeling(캐릭터, 배경)에 자주 사용됨. (말로 서술만 하면 만들어줌)

 

(4) 언어 번역 (자연어 처리, NLP, Natural Language Processing)

: 번역산업 (Localization industry)의 시장이 축소되고 있음. 

 

+) 대규모 언어 모델 (LLM, Lagrge Language Model)

: 머신 러닝, 특히 신경망을 기반. 인간의 언어나 기타 복잡한 데이터를 인식, 해석함. 충분한 데이터를 받고 학습한 컴퓨터 프로그램입니다. (Chat GPT.)  

 

(5) 자율학습하는 인공지능 게임 (Reinforcement learning)

: 예상하지 못한 상황이 오더라도 학습을 하여 스스로 해결할 수 있도록 함. 

회사의 경영 기본은  "Input(돈, 자본, 노동)을 넣었을 때 Output(수익)이 얼마나 나는가"임. 이 Input을 어떻게 조합을 해나갈 것인가를 Reinforcement learning을 통해 해결함.

 

 

5) DIY 인공지능

(1) 티처블 머신 (teachable machine)

: Google에서 만듦. 무료 베포. 여러가지 인공지능 라이브러리를 종합선물세트처럼 묶어놓고, 사용하기 편하도록 인터페이스를 만들어놓은 기술. (분류, classifiacation)

- 물체 인식 : 어떤 사물을 트레이닝 시킨 후 새로 주어진 물체가 무엇인지 판단

- 음성 인식 : 어떤 소리를 트레이닝 시킨 후 새로 주어진 소리가 무엇인지 판단 (소리를 이미지화 해서 인식)

- 동작 인식 : 어떤 동작을 트레이닝 시킨 후 새로 주어진 동작이 무엇인지 판단 (Media pipe 라이브러리를 사용)

 

+) Media pipe

: 사람 관절을 점, 뼈를 선으로 인식. 스틱맨 형식으로 나옴. (공개된 라이브러리)

 

+) 티처블 머신의 인식 프로그램 제작 과정

: 데이터 수집 (data set) >> 학습 (train) >> 새로운 데이터가 무엇인지 예측 (prediction, inference, test)

 

(2) 앱 인벤터

: MIT에서 제작. 초보자용 안드로이드 앱 제작 언어 (라이브러리). 

인공지능 관련 컴포넌트를 제공하고 있음. (음성인식 (SpeechRecognizer), 음성합성 (TextToSpeech), 언어번역 (YandexTranslate))

+) scratch와 공통점 : 블록코딩 언어. 유사하다. 

+) Scratch와 차이점 : 앱 인벤터로 블록코딩을하면 바로 안드로이드에 적용해서 안드로이드 앱으로 사용할 수 있다. 

 

 

6) 사회적 영향과 미래 조망

(1) 자율주행차

- 사고 감소를 위해 주변 차와 통신하면서 서로 가까운 거리에서 주행 >> 도로 폭 좁아짐 >> 사람 운전 금지

- 신호등이 없는 사거리

- 사람 인식 능력을 넘는 주행 >> 사람보다 훨씬 빠르게 주행하게 됨 >> 사람 운전 금지

 

(2) 직업군의 변화

- 대한민국은 로봇 밀도에서 세계 1, 2위를 하고 있음. 

- Frey의 연구 : 702개의 직업에 대해 사라질 위기를 확률로 계산. 

- '인공지능을 쓰는 사람이 인공지능을 쓰지 않는 사람을 몰아낸다.'

- 개발자는?  >> 개발자 수요가 줄어든다 vs 지금보다 더 복잡한 소프트웨어 개발. 오히려 수요가 늘 것이다.

 


1.5 인공지능 만들기

1)  지배적인 공학적 관점

(1) 인공지능 접근 방법

- 생물학적(이과)

: 통계, 생물학, 뇌과학 등. 인간의 지능을 연구한 후, 그 원리를 모방하여 기계를 제작

(예시 : CNN은 인간의 시각피질을 모사하였다는 주장이 있음.)

 

- 컴퓨터공학적(공과)

:  쓸만한 지능 기계를 만들 수 있다면, 굳이 인간 지능 원리를 따를 필요 없음. 

(예시 : 비행기 날개는 새의 날개를 모방한 것이 아니다.) (현재는 공학적 접근방법이 지배적임. 트랜드)

 

+) AGI (Artificial General Intelligent)

: 강한 인공지능 (여러 분야 적용 가능). (Chat GPT 등) 

 

 

2) 규칙 기반 방법론 vs 기계학습 방법론

(1) 규칙 기반 방법론 (Rule-based method)

: 사람이 사용하는 규칙을 수집하여 프로그래밍 (1960년대에 등장) (if...elif...elif...)

 

+) 예시

: 필기 숫자 인식 프로그램 (여러 사람들이 쓴 숫자들을 가지고 규칙 수집), 의료진단.

 

+) 문제점

: 수집한 규칙에서 벗어난 샘플 (예외)이 꾸준히 발생한다는 한계가 있다.  >> 기계학습 방법론

(작동 잘 안함  >>  인공지능 겨울 발생  >>  1990년부터 기계학습이 주도권을 잡음)

 

(2) 기계학습 방법론 (Machine Learning Method)

: 충분한 데이터 수집 후 기계학습 (ML) 모델을 학습하는 방법 (데이터-주도 패러다임)

 

+) 예시

: MNIST 데이터셋, SVM, Random Forest, 다층perceptron 등.

 

+) AI vs ML vs DL

: AI 가장 큰 범위, ML이 그다음, DL이 그다음

출처 - neurosnap.ai (https://neurosnap.ai/)

(ML과 DL사이 : 통계학, 수학적인 부분)

 

 

3) 파이썬 프로그래밍

(1) 파이썬 > C언어

- 기계학습은 vector와 matrix 처리 자주 함 >> 파이썬은 다차원 데이터들(vector, matrix, tensor)을 편리하게 코딩 가능.

- 파이썬은 인터페이스 언어임.  (핵심 라이브러리를 호출해서 사용)

- 파이썬은 glue language. 바이너리(binary, 두 가지 이상의 언어로 작성된) 레벨의 라이브러리를 가져와서 실행시킬 수 있음. (C/C++, Fortran, Rust 등의 언어의 입출력 연결 시 python 사용)

 

+) ★ Rust

: C/C++ 대체 언어. 최근 C/C++을 보안상으로 사용하지 말라함. 

(C/C++은 직접적으로 주소를 통해 메모리 내용에 엑세스(읽기,쓰기)할 수 있음. 변조, 수집 가능)  

 

+) C언어 단점

: 메모리 할당, 디버깅에 많은 시간 할애

 

+) 핵심 라이브러리

: 효율성을 위해 C로 코딩되어 있음.

반응형