hyeonzzz's Tech Blog

[Andrew Ng] 딥러닝 1단계 : 1. 딥러닝 소개 본문

Deep Learning/Basics

[Andrew Ng] 딥러닝 1단계 : 1. 딥러닝 소개

hyeonzzz 2023. 9. 12. 11:23

1. 신경망은 무엇인가?

신경망 : 입력(x)와 출력(y)를 매칭해주는 함수를 찾는 과정

딥러닝 : 신경망을 학습시키는 것

 

 주택 가격 예측 - 기본적인 신경망 알아보기

  • 가운데 원은 hidden unit이다
  • 신경망은 x를 입력으로 받아 y를 출력하는 함수를 찾아낸다
  • 충분한 데이터가 주어지면 더 잘 알아낼 수 있다
  • 해당 뉴런에 관계없는 입력값이라도 입력으로 넣어주어야 한다. 관계 여부는 신경망이 학습하면서 알아서 조절해 준다

 

 

2. 신경망을 이용한 지도학습

▶ 머신러닝의 방법

  • 지도학습 (Supervised learning) : 정답이 있는 (label 되어있는) 데이터를 사용하여 학습시키는 방법
  • 비지도학습 (Unsupervised learning) : 정답이 없는 (label 되어있지 않은) 데이터를 사용하여 학습시키는 방법

 

 Neural Network 예시

  1. Standard NN
  2. Convolutional NN  -  이미지 분류를 위해 사용
  3. Recurrent NN  -  음성을 텍스트로 변환시키기 위해 사용 (시계열 데이터)

목적에 따라 적절한 신경망을 사용하면 된다!

 

 Data 종류

  • 구조적 데이터 (Structured data) : 행과 열의 정해진 형태를 가진 데이터 (데이터베이스로 표현된 데이터). 정보의 특성을 잘 알 수 있다
  • 비구조적 데이터 (Unstructured data) : 구조가 정해져 있지 않은 데이터 (이미지, 음성, 텍스트...). 특징을 추출하기 어렵

딥러닝 덕분에 컴퓨터가 비구조적 데이터를 인식할 수 있게 되었다

 

 

3. 왜 딥러닝이 뜨고 있을까요?

  • 딥러닝이 좋은 성능을 내기 위해선 충분히 큰 신경망많은 양의 데이터가 있어야 한다
  • small training set 이라면 특성을 다루는 실력이나 알고리즘에 따라 성능이 결정되는 경우가 많다
  • large training set 이라면 큰 NN이 성능이 좋다

 

 최근 딥러닝이 부상한 이유

  • 3가지 요인들
  1. 데이터 양 증가
  2. 컴퓨터 성능 향상 (GPU, 하드웨어,...)
  3. 알고리즘의 개선 (sigmoid -> ReLU)
  • 빠른 계산으로 빠른 실험 결과를 얻을 수 있어, idea -> code -> experiment 의 시간 단축. 더 많은 아이디어를 실험 할 수 있게 되었다

 

☆ 세션 진행 후 추가 내용

Q. 신경망의 크기를 증가시키는 것은 알고리즘의 성능을 저해시키지 않고, 도움을 준다?

맞는 말이다

예전에는 신경망 크기의 증가가 복잡성을 증가시켜 과적합 문제가 발생하거나 계산하는데 더 시간이 오래 걸려 성능이 저하될 수 있었지만,

최근에는 GPU 등 여러 리소스가 향상되어 신경망 크기의 증가는 알고리즘 성능에 도움을 준다