coursera강의/Deep Learning Specialization

Deep Learning Specialization - Neural Networks and Deep Learning [1주 차]

꾸물꾸물 말고 꿈을 2023. 9. 4. 12:35

해당 내용은 Andrew Ng 교수님의 Coursera의 딥러닝 특화과정(Deep Learning Specialization)의 첫 번째 강의 Neural Networks and Deep Learning를 듣고 정리한 내용이다.

 

구글 머신러닝 부트캠프를 계기로 코세라 강의를 들을 수 있는 기회가 생겼다! 꾸준히 열심 듣자!😋🤗

1주 차 강의는 거의 intro였다.

 

학습 목표

  • Discuss the major trends driving the rise of deep learning.
  • Explain how deep learning is applied to supervised learning
  • List the major categories of models (CNNs, RNNs, etc.), and when they should be applied
  • Assess appropriate use cases for deep learning

 

intro

딥러닝 특화과정에서는 5개의 강의를 소개해 준다고 한다.

1. Nueral Network(NN) and Deep Learning(DL)

- NN과 DL에 대해서 배우며, NN을 만드는 방법과 데이터를 학습하는 방법에 대해서 배운다.

 

2. Improving Deep Neural Networks: Hyperparameter tuning, Regularization and Optimization

- DL의 실질적인 부분을 알아가며, 신경망을 구축하고 실제로 어떻게 잘 동작하게 만드는지에 대하여 배우게 될 것이다.

 

3. Structuring Machine Learning Projects

- 머신러닝을 어떻게 구조화할 것인가에 대해서 배우고 여러가지 경험을 공유한다.

 

4. Convolutional Neural Network(CNN)

- 주로 이미지 인식/처리에 사용되는 CNN에 대해서 배운다.

 

5. Squence Models

- 시퀀스 데이터 처리에 유용하게 사용되는 Recurrent Neural Network(RNN), LSTM 모델을 배운다. 이것들은 자연어처리나 음성인식, 음악생성에 사용된다.

 

What is a Neural Network?

집갑 예측 예시

x : 집의 크기 , y: 집의 가격

x를 신경망에 대한 입력값으로 넣고 y를 출력한다. 

 

-ReLU(Rectified Linear Unit) 

ReLU(Rectified Linear Unit) 함수는 인공신경망(Deep Learning)에서 주로 사용되는 활성화 함수 중 하나이다. 활성화 함수는 입력된 값을 변환하여 출력값을 생성하는 함수로, 신경망에서 각 뉴런의 활성화 여부를 결정하는 데 사용된다.

 

ReLU(x) = max(0, x)

여기서 x는 입력값이며, 함수의 출력은 입력값이 0보다 크면 그대로 출력하고, 0 이하인 경우에는 0으로 변환된다. 즉, 입력값이 양수일 경우에는 변화가 없고, 입력값이 음수일 경우에는 0으로 수렴하게 된다. 이러한 특성으로 인해 ReLU 함수는 신경망의 비선형성을 도입하면서도 계산 비용이 낮아져 학습 속도를 향상시키는 데 도움이 된다.

 

=> 위의 그래프에서 집의 크기는 음수가 될 수 없으므로 0으로 지정하므로 ReLU선형함수와 같다.

 

 

입력 x: 침실 수 , 집의 크기 ,주변 환경 ,재산

출력 y: 는 예측 가격이다.

입력층: 크기, 침실 수, 우편 번호, 지역의 부유함.


신경망은 주어진 입력 특성을 기반으로 가격을 예측하는 것이 목표이다. 이러한 예측은 중간 층의 뉴런들을 통해 이루어진다. 각 중간 층의 뉴런은 네 가지 입력 특성을 받아와 이를 활용하여 복잡한 계산을 수행한다. 중요한 점은, 이러한 뉴런들이 입력 특성들을 동시에 받아온다는 것입니다. 따라서 각 뉴런은 입력 특성들 간의 상호작용을 고려하여 패턴과 관련된 정보를 학습하게 된다.

또한 입력층과 중간 층은 밀집하게 연결되어 있다. 이것은 입력층의 각 특성이 중간 층의 모든 뉴런에 연결된다는 의미이다. 이 연결은 신경망이 입력 데이터의 다양한 측면을 중간 층에서 고려할 수 있게 한다. 이렇게 중간 층의 각 뉴런이 모든 입력 특성과 연결되기 때문에 중간 층은 입력 데이터의 다양한 특징을 동시에 처리할 수 있다.

마지막으로, 인공신경망은 충분한 훈련 데이터가 제공될 경우, 입력 데이터(x)와 해당하는 출력(y)의 관계를 학습하여 정확한 매핑 함수를 찾아낼 수 있는 능력을 갖추게 된다. 이것이 신경망의 핵심적인 능력 중 하나로, 충분한 데이터와 적절한 학습 과정을 통해 입력과 출력 간의 복잡한 관계를 이해하고 예측하는 함수를 학습하는 과정을 의미한다.

 

Supervised Learning with Neural Networks

(신경망을 사용한 지도학습)

입력값 x , 출력값 y에 대한 함수 매핑

위의 글은 신경망이 매우 효과적으로 적용된 사례이다.

ex) 웹 사이트에 광고에 대한 정보와 사용자에 대한 일부 정보를 입력함으로써 신경망은 사용자가 광고를 클랙하는지 여부를 매우 잘 예측하게 됨.

 

시퀀스 데이터

*시퀀스 데이터는 일련의 값 또는 이벤트가 순서대로 나열된 데이터 형식을 나타낸다.

-오디오에는 시간적 요소가 있어 가장 자연스럽게 1차원 시계열 또는 1차원 시간 시퀀스로 표현된다.

 

 

-정형 데이터(Structured Data)는 고정된 데이터 모델 또는 스키마를 따르며, 데이터의 구조가 명확하게 정의되고 저장 및 처리하기 쉬운 형태의 데이터를 말한다. 정형 데이터는 주로 표 형태의 데이터베이스 테이블에서 저장되며, 행과 열로 이루어진 구조로 표현됩니다. 이러한 데이터는 숫자, 문자열, 날짜, 시간 등과 같은 다양한 유형의 정보를 담을 수 있다.


ex ) 데이터베이스: 관계형 데이터베이스 시스템(RDBMS)에서 저장되며, 테이블과 열(column)로 구성된다.

 

-비정형 데이터(Unstructured Data)는 일정한 구조나 형식을 갖추지 않은 데이터로, 일련의 규칙 또는 표준화된 데이터베이스 테이블과 같은 구조적 형식이나 스키마로 쉽게 정렬되지 않는 데이터를 의미한다. 비정형 데이터는 다양한 형식과 소스에서 나올 수 있으며, 주로 텍스트, 이미지, 비디오, 음성 및 자유 형식 문서 등을 포함한다.

 

이번 과정에서 다룰 많은 기술들은 정형 데이터와 비정형 데이터 모두에 적용된다고 한다.

 

Why is Deep Learning taking off?

(딥러닝이 떠오르는 이유는 무엇인가?)

가로줄: 수행 업무의 데이터 양

세로줄: 알고리즘의 성능 및 정확도

 

노랑: samll network

파랑: mideum network

초록: large network

 

신경망의 성능을 향상시키기 위해선 더 큰 네트원크를 훈련시키거나 데이터의 양을 늘리는 방법이 있다.

 

트레이닝 세트의 사이즈, 훈련 데이터셋의 개수를 나타낼때 소문자 (m)으로 표시

 

*large NN이 항상 traditional NN보다 나은것은 아님.

데이터의 양이 크지 않으면 기존 학습 알고리즘의 성능은 NN과 동일한 것으로 나타납니다.

 

딥러닝의 부상과 중요한 이유

 

데이터 양 증가: 디지털 기술 발전으로 인해 많은 양의 데이터가 생성되며, 이를 활용하여 딥러닝 네트워크를 효과적으로 훈련시킬 수 있게 되었다.

빠른 계산: 고성능 하드웨어 (예: GPU)와 분산 컴퓨팅 환경의 발전으로 딥러닝 알고리즘이 빠르게 작동할 수 있게 되었다.

알고리즘 혁신: 새로운 알고리즘과 기법의 개발로 딥러닝 네트워크의 성능이 크게 향상되었다. 특히, ReLU와 같은 활성화 함수의 도입이 중요한 역할을 했다. (시그모이드 함수를 ReLU함수로 바꿈. 시그모이드는 함수의 기울기가 거의 0에 가까운 값이 되어 느려지는 단점. 렐루 함수로 변경해 성능 향상 시킴.)


대규모 네트워크: 더 큰 신경망을 구성하고 더 많은 데이터를 사용하여 딥러닝 모델을 훈련시킬 수 있게 되었다.

반복 실험 및 개선: 빠른 실험과 빠른 결과 확인을 통해 딥러닝 모델을 지속적으로 개선할 수 있게 되었다.

이러한 이유로 딥러닝은 현재 큰 주목을 받고 있으며, 데이터 과학 및 인공지능 분야에서 중요한 역할을 하고 있다.