코세라 앤드류 응 AI 강의 리뷰

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

파요요요 2022. 5. 17. 17:21

이번 글에서는 3주 차 내용을 총정리하는 퀴즈를 풀어보며, 학습내용을 정리해보도록 하겠습니다.

1~10번까지 차례대로 풀어봅시다.


1번 문제

[]의 값은 레이어를 의미한다고 배웠으므로,

a[2](12)12th 훈련 예제에 대한 2nd 레이어의 활성화 벡터를 나타내고,

a [2]. 1~a [2]. 4 가 모여서 a [2] 구성한다고 배웠으므로,

a [2]. 4는 2nd 레이어의 4th 뉴런에 의한 활성화 출력이고, a[2]2nd 레이어의 활성화 벡터를 나타냅니다.

---> 열 벡터가 모여 만들어진 행렬 X는 각 열이 하나의 훈련 예제인 행렬입니다.


2번 문제

일단, tanh 함수 그래프를 보면서 문제를 해석해 봅시다.

Tanh 그래프

tanh 함수로 인한 출력의 평균이 0에 가까운 것은 맞습니다.

시그모이드 활성화 함수보다 항상 좋은 것이 아닌 것도 맞습니다.

하지만 데이터를 중앙으로 배치하여, 오히려 학습을 간단하게 하므로, 정답은 거짓입니다.


3번 문제

벡터화 구현에 관한 문제입니다.

Z = W. X + B의 형태입니다.

입력 데이터 XA [0]으로 표현하고, (i>0) A [i]는 활성화 함숫값이라 배웠습니다.

1번째 레이어를 계산하면, Z [1] = W [1] * A [0] + b [1]일 것입니다.

즉, Z [i] = W [i] * A [i-1] + b [i]이고A [i] = g [i](Z [i])입니다.


4번 문제

우리는 "출력 층"에서 0과 1로 나누는 이진 분류 문제에 적합한 로지스틱 회귀 방법을 사용하기 위해서,

활성화 함수로 시로모이드 함수를 사용했습니다.

즉, 정답은 시그모이드입니다.

------> Relu , Leaky ReLu , tanh 함수들은 "출력층"이 아닌,

"은닉층"에서 신경망 모델을 학습시키기 위한 활성화 함수입니다.

반응형

5번 문제

파이썬 코드에 대한 기초지식이 있어야 이해할 수 있는 문제입니다.

A 4 * 3 행렬이고, B A 행렬의 요소 합을 나타내는 행렬이라고 합니다.

axis =1 , keepdims = True이므로, 세로로 합이 아닌, 가로 합이 됩니다.

np.sum , axis =1 더하기 이해

대충 그림으로 이해하면, 이런 과정입니다.

즉, B의 모양은 4 * 1 행렬이 됩니다.


6번 문제

저번 글의 마지막 부분에서, 이 문제에 대한 정답을 배웠습니다.

가중치 w편향 b를 모두 0으로 초기화해버리면,

신경망을 거치더라도 동일한 계산을 수행하게 되어 학습하는 의미가 없어집니다.

그래서, 답은 2번입니다.


7번 문제

6번 문제와 유사한 문제입니다.

언뜻 보면 참인 것처럼 보이지만, "로지스틱 회귀의 가중치 w"를 자세히 봐야 합니다.

가중치 w는 입력 ~ 은닉층에서만 사용되고,

로지스틱 회귀의 가중치(은닉 -> 결과층의 가중치 w)는 결과층에서만 사용됩니다. 

즉, 0으로 초기화해도, 그다음 층이 존재하지 않기 때문에, 

"대칭 파괴"의 실패를 야기하지는 않습니다. 정답은 거짓입니다.


8번 문제

일단, 2번에서 나온 tanh 함수 그래프를 참고해 봅시다.

1000을 곱해서 가중치를 큰 값으로 만들게 되면,

활성화 함수인 tanh의 입력도 매우 커지게 되고, 이 값에서의 도함수는 0에 가까워집니다.

그래서 경사 하강법을 통한 최적화 알고리즘의 속도가 느려질 것입니다.


9번 문제

1번과 유사한 문제입니다.

편향 b는 뉴런(퍼셉트론) 하나당 1개이므로,   b [1]의 모양은 (4,1) ,b [2]의 모양은 (1,1)입니다.

*중요

----> 입력 데이터 x 2개고 퍼셉트론이 4개이므로, W [1]의 모양은 (4,2)입니다.

하지만, "결과층"과 연결되는 가중치 W [2]는 알 수 없습니다.

트레이닝 데이터 셋의 개수를 알지 못하기 때문입니다.

즉,  w [2]는 골라서는 안됩니다.


10번 문제

9번과 동일한 네트워크에서 z[1]A [1] 차원을 알아야 합니다.

입력 데이터 x의 개수가 1개라면 , Z[1] A [1] 차원은 (4,1)입니다.

하지만 위의 문제에서는 X의 개수를 따로 정해주지 않았으므로,

입력 데이터 X의 개수를 m이라고 생각하여 , 정답은 (4,m) 입니다.


이상으로 3주 차 퀴즈 10문제를 풀어봤습니다.

다음 글에서는 프로그래밍 과제를 하면서, 직접 신경망을 구현해보겠습니다!

이 내용들은 모두 coursera에서 앤드루 응 교수님의 강의를 요약정리 및 쉽게 재 풀이하여 적은 글이며,

내용에는 생략되거나 변형된 부분이 많으니 직접 강의를 들어보시는 걸 추천드립니다!

이 글은 상업적 목적이 아닌, 한국에서 인공지능을 배우고 싶은 분들을 위해 적은 교육적 목적에서 작성하였습니다.

 

반응형