혼공단/혼공단 5기

[혼공단 5기] 혼자 공부하는 머신러닝 + 딥러닝 6주차 후기 및 미션 인증 (+ 완주 소감)

하양훈 2021. 3. 6. 12:00
반응형

<진도표>

[이번주 과제 - 6주차]

1. 진도 공부 : 7장 딥러닝을 시작합니다

2. 기본 미션 : 7-1절 문제 풀고 인증샷

3. 선택 미션 : 7-2절 문제 풀고 인증샷

1. 진도 공부

 

1) 혼자 공부하는 머신러닝 + 딥러닝 7장 - 인공 신경망

 

링크 : sirokun.tistory.com/30

 

혼자 공부하는 머신러닝 + 딥러닝 7장 - 인공 신경망

1. 인공 신경망 - 생물학적 뉴런에서 영감을 받아 만든 머신러닝 알고리즘. - 기존의 머신러닝 알고리즘으로 다루기 힘들었던 이미지, 음성, 텍스트 분야에서 뛰어난 성능을 발휘하면서 주목받고

sirokun.tistory.com

 

2) 혼자 공부하는 머신러닝 + 딥러닝 7장 - 심층 신경망

 

링크 : sirokun.tistory.com/31

 

혼자 공부하는 머신러닝 + 딥러닝 7장 - 심층 신경망

1. 심층 신경망 - 2개 이상의 층을 포함한 신경망. - 다층 인공 신경망, 심층 신경망, 딥러닝을 같은 의미로 사용하기도 한다. - 은닉층 : 입력층과 출력층 사이에 있는 모든 층 - 출력층에 적용하는

sirokun.tistory.com

2) 혼자 공부하는 머신러닝 + 딥러닝 7장 - 신경망 모델 훈련

 

링크 : sirokun.tistory.com/32

 

혼자 공부하는 머신러닝 + 딥러닝 7장 - 신경망 모델 훈련

1. 손실 곡선과 검증 손실 - 에포크 횟수가 증가함에 따라 손실곡선이 어떻게 변화하는지 그래프로 그려보겠습니다. #모델 생성 model = model_fn() model.compile(loss='sparse_categorical_crossentropy', metri..

sirokun.tistory.com

 

이번주에는 딥러닝 중 기본적인 신경망 학습에 대한 내용을 배웠습니다.

사실 딥러닝이 더 어려울거라 생각했는데, 이번에 배웠던 내용은 어렵긴 했지만 재미도 있었습니다. 신경층을 하나하나 쌓는 것도 흥미로웠고 그 안에서 어떤 계산과정이 일어나는지 배우는게 흥미로웠습니다. 물론 다 배우고 나니 아직 배워야할게 많다고 느껴지지만 그래도 배우고 나니 이전에 보이지 않았던 내용들이 다 보이기 시작해서 어떤 내용인지 감이 잘 오는 것 같더라고요.

 

 

2. 기본미션 : 7-1절 문제풀고 인증샷

기본미션은 7-1절 문제 풀고 인증샷입니다.

 

간단하게 풀이를 해보면 아래와 같습니다.

 

<1번 문제 풀이>

 

- 밀집층에 있는 10개의 뉴런이 100개의 입력과 모두 연결되기 때문에 총 100X10 = 1000개의 가중치가 있고, 뉴런마다 1개의 절편이 있으므로 총 1010개의 모델 파라미터가 있습니다. 따라서 답은 3번이 됩니다.

 

<2번 문제 풀이>

 

1) binary라는 활성화 함수는 없습니다.

2) 이진 분류일 경우 출력층의 뉴런이 1개이고 선형방정식의 결과를 확률로 바꾸기 위해 sigmoid 함수를 사용합니다.

3) softmax 함수는 다중 분류 신경망의 출력층에 사용합니다.

4) relu 함수는 이미지 분류 모델의 은닉층에 많이 사용하는 활성화 함수입니다.

 

<3번 문제 풀이>

 

1) configure() 메서드는 없습니다.

2) fit() 메서드는 모델을 훈련하는 메서드입니다.

3) set() 메서드는 없습니다.

4) compile()메서드는 loss로 손실함수를 지정하고 metrics 에서 측정하려는 지표를 지정할 수 있습니다.

 

<4번 문제 풀이>

 

1) 타깃이 정수인 다중 분류일 경우 compile() 메서드의 loss 매개변수를 'sparse_categorical_crossentropy'로 지정합니다.

2) 'categorical_crossentropy'는 타깃이 원-핫 인코딩된 경우 사용한다.

3) 'binary_crossentropy'는 이진 분류에 사용하는 손실함수입니다.

4) 'mean_squared_error'는 회귀 문제에 사용하는 손실함수입니다.

 

 

3. 선택미션 : 7-2절 문제풀고 인증샷

선택미션은 7-2절 문제 풀고 인증샷입니다.

두 미션 다 문제 풀이인것은 이번이 처음이네요.

간단하게 풀이를 해보면 아래와 같습니다.

 

 

<1번 문제 풀이>

 

1) 층의 클래스만 전달하고 있습니다.

2) 층의 객체를 전달하므로 정답입니다.

3) Dense 클래스의 매개변수를 add() 메서드에 전달합니다.

4) add()메서드에서 반환하는 값이 없으므로 함수 호출 오류가 발생합니다.

 

<2번 문제 풀이>

 

1) Plate 클래스는 없습니다.

2) 배치 차원을 제외한 입력의 차원을 일렬로 펼치려면 Flatten 클래스를 사용합니다.

3) Normalize 클래스는 없습니다.

4) Dense 층은 신경망에서 가장 기본적인 밀집층으로, 입력의 차원을 변형하여 계산하진 않습니다.

 

<3번 문제 풀이>

 

1) linear는 선형 활성화 함수로 실제로는 활성화 함수를 적용하지 않는다는 의미를 지니고 있습니다. 즉, 뉴런의 선형계산을 그대로 다음층에 전달합니다. 일반적으로 회귀 작업을 위한 신경망의 출력층에 사용합니다.

2) sigmoid는 로지스틱 함수 또는 시그모이드 함수를 나타냅니다. 이 활성화 함수는 초창기 신경망에 많이 사용됩니다.

3) relu는 이미지 처리 작업에 널리 사용되는 렐루 활성화 함수입니다.

4) tanh는 하이퍼볼릭 탄젠트 함수 입니다. 순환 신경망에 자주 사용됩니다.

 

<4번 문제 풀이>

 

1) SGD는 일정한 학습률을 사용하는 옵티마이저 입니다.

2) Adagrad는 적응적 학습률 옵티마이저입니다.

3) RMSprop는 적응적 학습률 옵티마이저입니다.

4) Adam는 적응적 학습률 옵티마이저입니다.


이것으로 6주차 후기를 마쳐보겠습니다.

시작한지 엊그제 같은데 벌써 마지막까지 오게 되었네요. 6주간 정리 포스팅도 하면서 미션을 수행하려다보니 약간은 빡빡한 일정이었지만 그래도 확실히 많이 성장하고 배운게 많았던 기간이었습니다. 사실 이전에도 여러 데이터 분석 코드 속 인공지능 파트를 보면서 그저 코드를 암기하고 자세한 내용도 모른채 작성하기 바빴는데 이번 혼공단을 통해 배운 내용을 보고 다시 보니 어려웠던 내용들도 쉽게 보여지고, 전에는 잘 안보이는 것들이 많이 보여진게 많은 것 같습니다. 이제 기초를 확실히 다졌으니 좀 더 어려운 인공지능,딥러닝 내용을 보면서 공부해나갈까 싶습니다.

 

6주간 열심히 달려온 혼공단 5기 분들 모두 수고하셨고, 좋은 책을 써주신 저자님과 좋은 프로그램을 기획해주신 관계자 여러분들께 감사의 말씀을 전하며 이번 혼공단 5기 활동은 여기서 마쳐보도록 하겠습니다 :)

반응형