인공지능
사전적 의미:
- 인간의 지능으로 할 수 있는 사고 학습, 자기 개발 등을 컴퓨투가 할 수 있도록 하는 방법을 연구하는 컴퓨터 공학 및 정보 기술의 한 분야로, 컴퓨터가 인간의 지능적인 행동을 모방할 수 있도록 하는 것
딥러닝(Deep Learning)은 전통적인 머신러닝(데이터 사이언스 or 데이터 분석을 위한) 기법을 포함하는 단어
쉽게 정의 :
컴퓨터가 데이터를 이용해 학습할 수 있도록 하는 기술 (컴퓨터 프로그램을 통해 인간처럼 이해하고, 추론하고, 사고하게 할 수 있는 방법)
인공지능 ⊃ 머신러닝 ⊃ 인공신경망 ⊃ 딥러닝
인공지능(AI)
사람의 지능을 모방하여 사람이 하는 것과 같이 복잡한 일을 할 수 있는 기계를 만드는 것
구현하는 방법은 크게 규칙기반 시스템과 머신러닝으로 나눌 수 있음.
즉, 머신러닝은 인공지능을 구현하는 한 방법
머신 러닝(Machine Learning)
사람이 일일히 규칙을 정의하지 않아도 데이터를 통해 배우는 것이 핵심
즉, Knowledge from experience로 인공지능을 구현
딥러닝(Deep Learning)
머신러닝의 여러 방법 중 중요한 방법론이며 인공신경망(Artificial Neural Network)의 한 종류
생물체의 뇌 구조에서 영감을 얻은 머신러닝 기법 중 하나로 핵심 원리는 다계층 구조를 이용한 Representation Learning을 통해 스스로 데이터 속에서 유용한 feature를 찾아내는 것
딥러닝은 기존 머신러닝과 다르게 인간 고유의 영역, 이미지 분석, 언어 인식과 같은 직관적이고 고차원적인 사고를 요하는 분야에 강점을 가짐
인공지능의 사례
이미지 분류
인간의 이미지를 분류하는 성능 : 약 95%
2015년, ‘ResNet’이라는 모델 성능 : 약 96% → 그 이후에도 딥러닝 모델은 계속 발전 이미지를 분류하는 것을 넘어 다양한 분야와 방식으로 발전
객체 탐지(Object Detection)
어떤 이미지 및 비디오 속에 포함돼 있는 물체에 대해 해당 물체가 어떤 물체인지를 분류하는 문제와 물체의 위치를 찾아내는 문제
딥러닝 모델이 다량의 이미지 및 비디오 데이터를 활용해 이미지 및 비디오 내 특정 물체의 위치 정보를 X, Y 좌푯값과 해당 물체의 크기인 Width, Height 값을 레이블 정보로 이용해 학습함. (X, Y, W, H) 정보를 보통 ‘Bounding Box’라고 표현
객체 탐지 기술은 최근 들어 자율주행 자동차, CCTV 등과 같은 카메라 기술을 바탕으로 개발되고 있는 제품 및 서비스에 도입되고 있으며 현재 다양한 연구가 진행되는 중
텍스트(Text)
텍스트 분야에서의 딥러닝 적용 또한 꾸준히 연구 되는 중 세부 Task로 나위어 연구가 진행
대표적인 예) 기계 번역(Machine Translation) , 문장(or 문서) 분류(Sentence Classification) , 질의 응답 시스템(Question & Answer System, Q/A) , 개체면 인식(Named Entitu Recognition, NER)
알파고
‘알파고(Alphago)’는 구글(Google)의 딥마인드(DeepMind) 사가 개발한 인공지능 바둑기사
기본 원리는 강화 학습, 현재 상태(바둑판)에서 어떤 행동(수)을 취해야 먼 미래에 보상이 최대(승리)가 될 것인지를 학습하는 알고리즘. 이는 수많은 시뮬레이션이 필요
알파고의 등장을 계기로 강화학습과 딥러닝을 결합한 심층 강화학습(Deep Reinforcement Learning)의 연구가 활발히 진행되기 시작
GAN(Generative Adversarial Networks)
딥러닝은 기본적으로 이미지, 텍스트 쪽에 초점을 맞춰 발전 → 이후 다양한 분야, 방식으로 발전 → 인공지능 분야에서 생성모델 GAN이 등장
데이터를 예측하는 걸 넘어 데이터를 직접 생성해내는 모델을 제안한 것
단순히 데이터를 생성해내는 것뿐 아니라 GAN이 지니고 있는 학습 알고리즘의 특성을 이용해 다양한 분야로 발전
Style Transfer
ex) 나의 사진을 고흐풍으로 바꾸기, 낮 풍경의 사진을 밤 풍경의 사진으로 바꾸기, 여름풍경을 겨울 풍경으로 바꾸기
GAN이 발전하면서 Style Transfer에 적용하기 시작(CycleGAN: Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks, Zhu 등, 2017)
ex) 여름 사진을 겨울 사진으로 바꾸고 싶을 때, CycleGAN의 Input은 ‘여름사진’, Output은 ‘겨울사진’
GAN의 등장으로 기존의 학습 구조(Input을 이미지, Label을 Output으로 설정)를 넘어 다양한 학습 구조를 가능하게 함
Deepfake
GAN의 등장으로 딥러닝의 이미지인 Task를 한 단계 더 발전(합성관련)
신기하고 유용하게 쓰일 수 있는 기술이지만 악용될 여지가 많은 기술 → 인공지능의 발전은 인간의 삶을 좀 더 편리하게 바꾸는 것 뿐만 아니라 악영향을 끼치기도 함
파이토치(PyTorch) & 텐서플로(Tensorflow)
파이썬 프로그래밍 언어에서 딥러닝 모델을 설계하려면, 텐서플로, 파이토치라는 프레임워크가 존재
텐서플로
→ 구글이 만들었으며, 파이토치보다 먼저 출시되어 많은 사람이 꾸준히 이용
but 코드가 직관적이지 않고 디버깅이 어렵다는 점 때문에 텐서플로의 프레임워크를 익히기에는 진입 장볍이 비교적 높았음.
이를 보완하기 위해 TF2.0 버전 이상에서는 케라스(Keras)를 이용해 가독성과 편의성을 제공
파이토치
→ 페이스북이 만들었으며, 코드가 직관적이고 디버깅이 상대적으로 쉬우며 코드 커스템이 쉽다는 점에서 많은 관심을 받음.
기본적으로 텐서플로가 많이 이용되고 있지만 파이토치의 이용률도 높아지고 있음
'공부 끄적끄적 > Deep Learning' 카테고리의 다른 글
[Deep Learning] 성능 지표(Performance Measurement) (0) | 2023.02.01 |
---|---|
[Deep Learning] Tensor / 스칼라, 벡터, 행렬, 텐서 사칙연산 (0) | 2023.01.30 |
[Deep Learning] CUDA, CuDNN, PyTorch (0) | 2023.01.30 |