전체 글 38

[딥러닝] 활성화 함수를 1가지 종류만 사용해서 학습하는 이유

왜 딥러닝에서는 활성화 함수를 한 가지만 사용해서 학습하는 걸까? ​여러 종류의 활성화 함수를 섞어서 쓰면 더 좋은 성능이 나오지 않을까? 딥러닝 강의를 들으며 공부하던 중, 위와 같은 의문이 들었습니다. ​ 인간의 경우에는, 학습과정에서 여러 활성화 함수가 동원되어 복합적으로 학습을 진행하는데, 왜 딥러닝은 한 가지 활성화 함수만 사용하여 학습하는가 하는 의문인데, ​ 오늘은 이 의문에 대한 답을 알아보겠습니다. 목차 1. 활성화 함수의 역할 2. 활성화 함수의 종류는 중요할까? 3. 활성화 함수를 1종류만 사용하는 결정적인 이유 4. 총 요약정리 1. 활성화 함수의 역할 ​위 그림은 뉴럴 네트워크(=신경망) 모델에서 이루어지는 수학적 계산 과정들을 손쉽게 볼 수 있는 그림입니다. ​위 그림을 참고하면..

인공지능 정보 2022.05.20

[인공지능 강의 리뷰] 20 - 하나의 숨겨진 레이어를 사용한 평면 데이터 분류. 프로그래밍 과제

*** 교수님의 주의사항 *** 만약 coursera 수강생이라면, 프로그래밍 과제는 최대한 스스로의 힘으로 해보고, 도저히 막히는 부분이나 이해가 가지 않은 부분만을 남의 도움을 받기를 추천한다고 합니다. 저번 글에 이어서, 바로 4-7부터 진행하겠습니다. nn_model() 함수 구현으로 이전의 함수들을 모두 통합하겠습니다. --> nn_model() 함수를 프로그래밍 해봅시다. 아래의 구현해 준 함수들을 모두 불러와줍시다. ​ 0단계 : initialize_parameters() --> (layer의 크기에 맞게) 매개변수 w, b를 초기화 1단계 : forward_Propagation() --> 순정파 계산을 통해서, 예측치 계산 2단계 : compute_cost() ---> 예측치와 정답 데이터..

[인공지능 강의 리뷰] 19 - 하나의 숨겨진 레이어를 사용한 평면 데이터 분류. 프로그래밍 과제

*** 교수님의 주의사항 *** 만약 coursera 수강생이라면, 프로그래밍 과제는 최대한 스스로의 힘으로 해보고, 도저히 막히는 부분이나 이해가 가지 않은 부분만을 남의 도움을 받기를 추천한다고 합니다. 저번 글에 이어서, 바로 4-3부터 진행하겠습니다. ​저번 4-2에서는 매개변수를 초기화해주었으니, ​이제 순정파 과정을 통해서 예측치를 구하고, 이를 이용하여 손실을 계산해야 합니다. ​forward_propagation () 함수에서 구현할 방정식들 : 𝑍[1] = 𝑊[1]𝑋 + 𝑏[1](1) 𝐴[1] = tanh(𝑍[1])(2) 𝑍[2] = 𝑊[2]𝐴[1] + 𝑏[2](3) 𝑌-hat = 𝐴[2] = 𝜎(𝑍[2])(4) 사용해야 할 것 : 1번 : sigmoid() , tanh() 함수를 사용해..

[인공지능 강의 리뷰] 18 - 하나의 숨겨진 레이어를 사용한 평면 데이터 분류. 프로그래밍 과제

이번 시간에는 저번 주와 마찬가지로 3주 차 전체 내용을 활용하여, 평면 데이터를 분류하는 딥러닝 학습모델을 프로그래밍 과제를 해보겠습니다 ​이번 과제로 만들 모델은 "은닉층"이 있는 모델이기에, 이 모델과 이전에 로지스틱 회귀를 사용하여 구현한 (은칙층이 없는) 모델 간에 큰 차이가 있음을 알 수 있습니다. 참고) 저번 고양이 분류기 과제에서는, 은닉층이 없었습니다. (아래의 자료는 저번 주 과제입니다.) ​이 과제가 끝나면 다음을 수행할 수 있습니다. 1 - 단일 은닉층으로 2등급 분류 신경망 구현 2 - tanh와 같은 비선형 활성화 함수 사용 3 - 교차 엔트로피 손실 계산 4 - 순방향 및 역방향 계산 과정 전체 목차 목차는 다음과 같이 구성됩니다. 목차를 확인하면서, 바로 1단계부터 차근차근 ..

[인공지능 강의 리뷰] 17 - 총정리 퀴즈. 얕은 신경망(Shallow Neural Network)

이번 글에서는 3주 차 내용을 총정리하는 퀴즈를 풀어보며, 학습내용을 정리해보도록 하겠습니다. 1~10번까지 차례대로 풀어봅시다. []의 값은 레이어를 의미한다고 배웠으므로, a[2](12)는 12th 훈련 예제에 대한 2nd 레이어의 활성화 벡터를 나타내고, a [2]. 1~a [2]. 4 가 모여서 a [2]를 구성한다고 배웠으므로, a [2]. 4는 2nd 레이어의 4th 뉴런에 의한 활성화 출력이고, a[2]는 2nd 레이어의 활성화 벡터를 나타냅니다. ---> 열 벡터가 모여 만들어진 행렬 X는 각 열이 하나의 훈련 예제인 행렬입니다. 일단, tanh 함수 그래프를 보면서 문제를 해석해 봅시다. tanh 함수로 인한 출력의 평균이 0에 가까운 것은 맞습니다. 시그모이드 활성화 함수보다 항상 좋은..

[인공지능 강의 리뷰] 16 - 왜 활성화 함수에 비선형 함수를 써야할까?

이번 시간에는 왜 활성화 함수에는 비선형 함수만 사용되는지 간단하게 알아보겠습니다. 일단, 활성화 함수부터 뭔지부터 간단히 알아보겠습니다. 활성화 함수(Activation functions)를 통해서, 저희는 매개변수 W, b를 수정하고 손실을 줄여나갈 수 있게 됩니다. ------> 딥러닝에서 주요 사용하는 활성화 함수(Activation function)는 저희가 배운 시그 로이드 함수(sigmoid function)나, ----------> 저희가 배우지는 않았지만, (tanh 함수, ReLU 함수, Leaky Relu 함수)가 자주 쓰입니다. --------------------> ( 자료는 딥러닝에서 쓰이는 활성화 함수 그래프입니다) 딥러닝 학습에 쓰이는 활성화 함수들은 모두 선형 함수(Line..

[인공지능 강의 리뷰] 15 - 뉴럴 네트워크 And 벡터화 표현

이번 시간에는 신경망(Neural Networks)을 구현하기에 앞서서, 신경망(Neural Networks)의 전체적인 개요부터 알아보겠습니다. 저번 주의 내용과 많이 겹쳐서, 겹치는 부분은 간략하게 하고 넘어가겠습니다! ​학습 데이터가 입력되는 층인 "입력층(Input Layer)" 결과(예측치)의 값이 산출되는 "출력층(Output Layer)" 입력층과 출력층 사이의 층을 의미하는 "은닉층(Hidden Layer)" 신경망(Neural Network)은 위의 3가지의 층으로 구성됩니다. 위의 자료에서는, X1 , X2 , X3는 입력층 , Y-hat은 출력층을 의미합니다. 수학적으로 표현할 할 때, 입력 측을 [0]으로, 2번째 층부터 [1]로 표현합니다. 각 층에 해당하는 변수들을 표현할 때에도..