Machine Learning vs Deep Learning 09-19

alert("april");·2023년 9월 19일
0

AI-PM

목록 보기
13/19
post-custom-banner


출처 https://www.linkedin.com/pulse/artificial-intelligence-ai-vs-machine-learning-deep-natarajan-siva

머신 러닝(Machine Learning)

  • 통계적/ 수학적 기법으로 모형을 설계
  • 컴퓨터가 모형을 바탕으로 데이터로부터 학습
    ex) y = ax + b (회기분석)
  • 학습의 형태(사용도%)
    - 지도 학습(90%):x와 y가 짝지어진 형태의 데이터에서 관계를 학습
    • 비지도학습(9%) 데이터의 내재적 구조를 학습
      ex) Big5 성격 척도 OCEAN(개방, 성실성, 외향성, 친화성, 신경성)
      MBTI 에 빠져있는 것(신경성)
    • 강화학습(1%) 환경과 상호작용하여 가장 많은 보상을 받는 행동을 학습
      ex) 알파고가 바둑을 둘 때(게임엔 승, 패가 있다)
      알파고A vs 알파고B
      실제로 많이 쓰진 않는다(수천만번의 강화학습을 하기엔 현실적으로 어렵기 때문에)

지도 학습 (Supervised Learning)

  • 머신 러닝의 90% 이상을 차지하는 학습 형태
    ex) 개인의 금융 생활 정보(x) -> 대출 상환 가능성(y)
    지원자의 자기소개서(x) -> 입사 후 인사평가 점수(y)

뉴런 (neuron)

  • 동물의 신경계를 구성하는 신경 세포
  • 흥분하면 전기 신호가 발생
  • 신경 전달 물질을 사용하여 세포 간 통신

인공신경망 (artificial neural network)

  • 생물학적 신경망에서 영감을 받은 머신러닝 모델
  • 인공 뉴런은 입력값을 가중합하고, 그 결과에 활성화 함수를 적용하여 출력
  • 인공 뉴런은 로지스틱 회귀분석과 (거의) 같음
  • 다층 신경망: 뉴런들로 이뤄진 층(layer)을 만들고, 이것을 여러 층으로 쌓은 것
    → 딥러닝으로 발전
  • 보편근사정리: 충분히 큰 다층신경망은 어떤 함수도 모방할 수 있음

딥러닝 이전과 이후의 특징 추출

  • 딥러닝 이전에는 과제 특성에 맞게 여러 단계의 처리 과정을 거쳐 특징을 추출
  • 종단간 학습(end to end leaning): 딥러닝에서는 원 데이터를 거의 그대로 입력하여 원하는 출력을 얻음
  • 표상 학습(representation learning): 신경망이 과제를 수행하는데 적합한 특징들을 내부적으로 학습

인간과 기계의 학습 방법의 차이

  • 스스로 생각하는 존재 인격화된 존재라는 통념
  • 인간은 소량의 데이터나 심지어 데이터 없이도 학습이 가능하나 인공지능은 대량의 데이터가 필요 (cf. Zero Shot Learning)
  • 인공지능은 좁은 범위의 문제에만 학습이 가능 전이(transfer) 가 어려움

티처블 머신 (teachable machine)

딥러닝 프레임워크

넘파이 (numpy)

  • 고성능 수치 연산을 위한 라이브러리
  • 머신러닝, 데이터 분석의 기반
  • 싱글 코어에 최적화, 병렬 처리는 안됨
  • 딥러닝에는 직접 사용되지 않으나, 사용법이 호환됨

판다스 (pandas)

  • 표 형태의 데이터에 대한 불러오기, 저장, 정렬, 필터링 등의 기능을 제공

사이킷런 (scikit learn)

  • 머신러닝 라이브러리
  • 딥러닝을 제외한 머신러닝 전 과정의 기능을 제공
  • 대부분의 머신러닝 라이브러리들이 사이킷런과 호환

GPU

  • 컴퓨터에서 일반적인 계산은 중앙처리장치 CPU라고 하는 칩에서
  • 딥러닝에서는 여기에 더해 GPU라는 칩을 사용(성능은 적어도 갯수로 밀어붙이는 것)
  • GPU(그래픽 처리 장치): 원래는 게임 등에서 컴퓨터 그래픽을 처리하는데 특화된 장치
    - GPU는 대량의 단순 계산을 병렬로 실행
    • 여러 가지 계산을 순서대로 하는 것이 아니라 따로 따로 계산한 다음에 합칠 수 있음
    • GPU는 수천 개의 작업을 동시에 수행
  • CPU는 병렬 처리에 최적화되어 있지 않으며 처리 능력이 제한
    - CPU의 사양을 보면 코어 →쉽게 생각하면 코어 하나가 한 번에 한 가지 계산
    • 개인용 PC에서 CPU에 있는 코어 개수는 많아야 열 몇 개 수준
  • 최신 GPUGPU에는 몇 만 개의 코어
  • 그래픽도 딥러닝과 같이 단순 계산이 많음
    - 동시에 여러 가지 계산을 할 수 있는 GPUGPU를 활용하면 높은 성능을 낼 수 있음

딥러닝 프레임워크

  • GPU 지원 + 딥러닝 모델을 정의하고 학습시키는데 필요한 다양한 기능들을 제공

텐서플로 (TensorFlow)

  • 구글이 개발
  • 가장 높은 점유율
  • 기업용 기능이 많음

파이토치 (PyTorch) -> Meta로 변경

  • 페이스북이 개발
  • 새로운 모형을 만들기 편리하여 학계에서 인기

작스 (jax)

  • 전문가용
  • 다양한 수학 계산을 최적화하여 빠르게 실행하는데 초점(속도)
  • 딥러닝도 구현할 수 있음

케라스 (Keras)

  • 초보자용
  • 여러 딥러닝 프레임워크를 같은 방법으로 편하게 사용할 수 있도록 하는 라이브러리
  • 현재 텐서플로를 지원 텐서플로에도 케라스가 내장), 신버전부터 파이토치와 작스도 지원

Q. 딥러닝 프레임워크는 파이썬 언어로만 가능한가요?
-> yes or no
새로운 모델을 만들거나 개발, 학습 => 주로 Python
만들어진 모델을 사용 => 다른 언어도 OK

컴퓨터 비전의 개념

컴퓨터 비전 (computer vision)

  • 컴퓨터를 이용해 이미지로부터 의미 있는 정보를 추출하는 것
  • 생물의 시각에 해당하는 영역을 다루는 인공지능 의 분야

응용: OCR

  • 광학 문자 인식(OCR: Optical Character 은 이미지에서 텍스트를 추출하는 기술
    - 이미지에서 텍스트를 추출하여 디지털 데이터로 전환할 수 있음
  • 이는 다양한 문서 처리 및 정보 수집 작업에 사용
    - 예) 회사의 인보이스, 영수증, 합의서 등 다양한 문서들을 디지털화
  • 또한, 광학 문자 인식 기술은 비대면 계좌 개설에서 신분증 인식 등과 같은 분야에서도 많이 사용
    - 예를 들어, 은행에서는 고객의 신분증 정보를 광학 문자 인식을 이용하여 자동으로 인식

응용: 화상 회의

  • 화상 회의 소프트웨어는 오프라인 미팅을 대체하는데 중요한 역할
  • 온라인 화상 회의를 기능 중에 배경을 흐리게 하거나 합성하는 기능이 있음
  • 과거에는 크로마 키(chroma key) 또는 그린 스크린, 블루 스크린 등이 필요
  • 현재는 image segmentation 기법을 이용하여 사람과 배경을 분리하고, 배경을 흐리게 하거나 합성하는 방법이 주로 사용

그래서 AI를 어디다가 활용할 수 있을까? 를 항상 생각을 해봐야 한다

컴퓨터 그래픽 방식

비트맵 방식 (bitmap)

  • 이미지를 작은 정사각형 모양의 픽셀이라고 하는 점들로 저장하는 방식
  • 각각의 픽셀이 밝기를 가짐
    - 픽셀이 꺼지면 밝기 0) 검은 색이 되고, 최대로 켜지면 흰색 그 중간에서는 회색
  • 비트맵 방식은 이미지를 확대하거나 축소할 때 왜곡이 생길 수 있음
    - 작은 이미지를 크게 확대해보시면 이미지가 흐릿해지는 것을 볼 수 있음
    • 또 이미지의 크기가 커지면, 이미지 한 장에 들어가는 점의 개수도 늘어나기 때문에 용량이 커진다는 문제가 있음

컬러 비트맵 이미지

  • 여러 개의 픽셀을 합쳐서 표현
  • 빛의 삼원색(RGB)
    - 빨강(R)
    - 초록(G)
    - 파랑(B)
  • 인쇄용 이미지는 CMYKCMYK를 사용

비트맵 저장 형식

  • JPEG (Joint Photographic Experts Group)
    - 대부분의 사진이나 이미지에 사용되며, 손실 압축 방식으로 이미지를 압축
    • 파일 크기를 줄일 수 있으나, 이미지의 품질을 약간 손상
  • GIF (Graphics Interchange Format Format) 와 PNG (Portable Network Graphics)
    - 작은 애니메이션 이미지나 로고, 아이콘 등에 사용
    • 비손실 압축 방식으로 그래픽이나 웹 디자인에 많이 사용
  • WebP
    - Google에서 웹 페이지에서 더욱 빠르게 로딩되도록 개발한 영상 이미지 파일 포맷
    • 기존의 JPEGJPEG와 PNG, GIF GIF의 장점을 모두 합쳐서 손실 압축과 비손실 압축을 모두 지원
    • 더 효율적인 압축 방식을 사용하기 때문에 파일 크기는 더 작고, 이미지 품질은 더 높은 특징

벡터 방식 vector

  • 벡터 방식은 이미지를 수학적인 곡선과 모양으로 표현
  • 이미지를 확대하거나 축소할 때도 깨지지 않고 선명한 이미지를 유지

벡터 저장 형식

  • pdf (Portable Document Format Format) 문서용
  • svg (Scalable Vector Graphics) 주로 웹 사이트에서 사용

포인트 클라우드

  • 3D이미지에 사용하는 방식
  • 각각의 포인트는 이미지의 한 점을 나타내며 색상 정보도 함께 저장
  • 주로 라이다 같은 장비로 찍은 이미지를 표현할 때 사용
    (살면서 우리가 거의 볼 일이 없다...ㅋㅋㅋ)

컴퓨터 비전 과업

과업 task

  • 머신러닝을 통해서 풀려고 하는 문제의 종류나 달성하려는 목표
  • 예시:
    - 이미지 분류
    • 물체 탐지
    • 이미지 분리
    • 깊이 추정
    • 이미지 간 변환
    • 이미지 생성
profile
Slowly but surely
post-custom-banner

0개의 댓글