딥러닝 기술 분류

2023. 12. 19. 20:29·ML & DL/개념정리

 

오늘은 딥러닝의 기술을 큰 카테고리로 분류해 볼 것이다.

 

AI는 크게 데이터, 학습방식, 태스크 관점으로 구분이 가능하다.

프로그램은 특정 입력을 특정 출력이 나오도록 하는 연산의 집합 -> 입출력이 모두 숫자

 

 

 

Data = 정형,이미지/동영상, 텍스트, 음성

학습방식 = 지도학습, 비지도학습, 강화학습

태스크 = 인식, 생성

학습방식에 의한 구분 

DIFFERENT MACHINE LEARNING MODELS

`지도학습(Supervised Learning)`: 라벨링 된 데이터를 통한 학습, 회귀와 분류 태스크

`비지도학습(Unsupervised Learining)`: 라벨링 되지 않은 데이터, 피드백을 진행 x, 숨은 패턴을 찾음

`강화학습(Reinforcement Learning)`: 라벨링 되지 않은 데이터, 지연 피드백, 보상 신호

지도학습

What is the difference between supervised and unsupervised machine learning? - VProexpert

- 데이터는 입력데이터와 정답데이터로 구성되며, 정답데이터를 확보하는 작업을 `Labeling(라벨링)` 혹은 `어노테이션(Annotation)`이라고 부른다.

- 데이터는 모델학습을 위한 데이터와 평가를 위한 데이터로 구분하여 사용된다. 

태스크

분류

`분류(Classification)`는 미리 정의된 클래스들 중 입력이 어느 클래스에 해당하는지 맞추는 태스크.

결괏값은 클래스 종류 중 하나이므로, 양수의 정수값으로 보통 표현한다. 

회귀

`회귀(Regression)`은 입력데이터에 대한 실수 혹은 실수의 집합(벡터)을 출력(벡터)으로 맵핑해 주는 태스크

분류+회귀

Object Detection(객체 검출) 등과 같은 작업은 분류와 회귀를 동시에 진행함.

라벨링 노이즈

지도학습에서 중요한 것은 데이터의 품질이고, `라벨링 노이즈(Labeling Noise)`에 따라 성능이 좌지우지됨.

이때 라벨링 노이즈란, 라벨링 결과에 대한 노이즈나 라벨링 작업에 대한 일관되지 않음의 정도를 의미한다. 

적고 품질이 좋은 데이터라고 무조건 좋은 것은 아님, 일반화되지 않은 데이터일 수 있음.


비지도학습 

DIFFERENT MACHINE LEARNING MODELS

- 특정 입력에 대한 정답을 알리지 않고 학습시키는 방법

- 비지도 학습으로 학습된 모델은 차원 축소(Dimension Reduction) 혹은 클러스터링(Clustering) 태스크를 수행.

태스크

클러스터링

https://simplystatistics.org/posts/2014-02-18-k-means-clustering-in-a-gif/

1. 임의의 두 점을 정하고 클래스를 부여

2. 나머지 점들을 가장 가까운 쪽 클래스로 부여

3. 클래스별 중심점을 다시 계산하고 2번 과정을 반

차원 축소

- 차원축소란, N차원 입력(벡터)을 N> n 차원 출력(벡터)으로 변경하는 태스크.

- 정보 압축(이미지, 오디오 등), 정보 시각화, 정보 특징 추출 등의 작업에 사용된다. 

- 대표적인 차원축소 모델로, `Auto-Encoder`이 있는데, [입력->차원축소->n차원 벡터->차원확대->입력] 이런 방식으로 모델을 구성하여 학습시킨다. 이는 따로 정답을 주지는 않지만, 입력값이 정답데이터 형식이 됨.(self-supervised)

이는 입력데이터에 어떠한 정보가 담겨있는지는 정확하게 모르지만, 이를 n차원 벡터로 축소했을 때 적어도 이 n차원 벡터는 원래의 데이터로 복구할 수 있는 정보들을 담고 있다. 학습 후, 차원을 축소하는 부분만 떼어서 사용한다. 

https://blog.keras.io/building-autoencoders-in-keras.html


강화학습

- 강화학습은 에이전트(Agent), 보상(Reward), 행동(Action), 환경(Environment)으로 구성된다.

https://davinci-ai.tistory.com/31

 

ex) 어린아이가 자전거를 배우는 학습을 강화학습에 빗대어 보자.

에이전트 = 어린아이, action = 브레이크 조절, 핸들 조절), 환경(학교 운동장), 보상(넘어지지 않고 이동하는 시간)

이 reward는 우리가 주어진 것이 아니라, 세팅 상 돌아오게 되는 것. 이러한 reward가 최대가 되도록 action을 반복.

에이전트 안에 여러 모델들이 들어갈 수도 있음. 

라벨링 된 데이터는 사용하지 않지만, reward라는 보상개념을 사용하여 학습함. 


데이터 형식에 의한 구분 

다음으로 모델에 들어가는 input data의 형식에 따라서도 구분 지을 수 있다. 

우선 크게 2가지로 나뉘는데, `정형데이터`와 `비정형데이터`로 나뉜다.

정형데이터는 표형식으로 나타낼 수 있는 구조화된 데이터 형식을 말하며, 

비정형데이터는 이미지/동영상/문자/음성 등의 정형데이터 외의 데이터를 의미한다. 

현재까지는 정형데이터는 전통적인 머신러닝을 이용하며, 비정형 데이터는 딥러닝을 이용한 학습방식을 이용한다. 

정형 데이터는 일반적인 표로 나타낼 수 있는 데이터이기 때문에 비정형 데이터에 대하여 좀 더 알아보자.

컴퓨터 비전

비정형데이터 중 이미지/동영상들을 input data로 활용하여 task를 수행하는 작업을 `컴퓨터비전(Computer Vision)`이라고 부른다. 아래와 같은 task 등을 이용하여 다양한 분야에서 활용할 수 있다.(지문인식, 번호판 인식, 자율주행 등등)

https://www.researchgate.net/figure/The-differences-among-six-popular-computer-vision-tasks-1-Object-recognition-sometimes_fig1_335013237

자연어 처리

다음으로 최근 각광받고 있는 텍스트 데이터를 다루는 작업은 `자연어처리(Natural Language Processing)`이라고 부른다. 

기존에는 각 task에 맞는 각 모델을 만들었어야 하나 최근 LLM을 이용하여 처리하고 있음.

https://medium.com/nlplanet/two-minutes-nlp-33-important-nlp-tasks-explained-31e2caad2b1b

 

음성인식

마지막으로 음성신호등을 다루는 작업으로 `음성인식(Speech Recognition)`이 있다. 이 음성인식 task는 보통 자연어처리 작업과 결합하여 진행된다. 내비게이션, 인공지능 스피커, 회의록 작성 등 다양한 분야에서 이용되고 있다. 


태스크 종류에 의한 구분 

다음으로 ai가 진행하는 태스크 종류에 의한 구분을 정리해 볼 것이다. 

 

인식과 생성 

간단하게 말해서 인식은 비정형 데이터를 입력하여 정보가 출력되는 것을 말하고, 생성은 출력이 비정형 데이터인 경우를 말한다.  이미지를 예시로 들어보면, 이미지 인식과 이미지 생성을 생각해 보면 인식이 잘 되어야 생성을 잘할 수 있게 된다.

최근에는 DALL-E 같은 텍스트를 입력하면 그에 맞게 이미지가 생성되도록 하는 서비스도 나오고 Stable diffusion 등 또한 프롬프트 엔지니어링을 통해 매우 좋은 퀄리티의 이미지를 생성할 수 있는 수준까지 올라왔다. 

https://www.aimtechnologies.co/image-recognition-revolutionizing-visual-data-analysis/

이러한 이미지 생성 말고도 GPT등에서 텍스트 생성도 다양하게 이뤄지고 있다. 


이렇게 학습 방식, 데이터 형식, 태스크 종류에 따른 딥러닝을 구분하면서 각종 용어에 대한 전반적인 큰 틀을 익힐 수 있었다. 

728x90

'ML & DL > 개념정리' 카테고리의 다른 글

퍼셉트론과 다층 퍼셉트론(MLP)  (0) 2023.12.19
딥러닝 개요  (0) 2023.12.19
딥러닝 발전 단계  (0) 2023.12.19
Decision Tree:의사결정나무  (0) 2023.12.13
분류와 회귀  (0) 2023.12.11
'ML & DL/개념정리' 카테고리의 다른 글
  • 퍼셉트론과 다층 퍼셉트론(MLP)
  • 딥러닝 개요
  • 딥러닝 발전 단계
  • Decision Tree:의사결정나무
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (471)
      • 알쓸신잡 (79)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (21)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    이분탐색
    이코테
    DFS
    이것이취업을위한코딩테스트다
    백준
    나동빈
    BFS
    dp
    파이썬
    그리디
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3

HOME

HOME

상단으로

티스토리툴바