갓생 살고 싶은 대학생 블로그
article thumbnail

혼공학습단 9기 활동의 마무리!

한 주도 빼먹지 않고 완주했다는 점이 뿌듯하다 ㅎㅎ

마지막까지 파이팅!~!

 

혼공머신 (머신러닝 + 딥러닝) 6주차 미션

기본미션 : chapter 07-1 확인문제 풀고 풀이과정 정리

 

1. 어떤 인공 신경망의 입력 특성이 100개이고 밀집층에 있는 뉴런 개수가 10개일 때 필요한 모델 파라미터의 개수는 몇 개인가요?

답 : 1010

 

입력 특성 * 뉴런 개수 + 절편 = 100 * 10 + 10 = 1010

 

2. 케라스의 Dense 클래스를 사용해 신경망의 출력층을 만들려고 합니다. 이 신경망이 이진분류 모델이라면 activation 매개변수에 어떤 활성화 함수를 지정해야 하나요?

답 : sigmoid

 

 

Dense 클래스에서는 뉴런 개수, 뉴런의 출력에 적용할 함수, 입력의 크기 총 3개의 매개변수가 필요하다

activation 매개변수는 뉴런의 출력에 적용할 함수를 나타낸다

신경망이 2개의 클래스를 분류하는 이진 분류라면 시그모이드 함수를 사용하기 위해 activation="sigmoid"와 같이 설정해야 한다

 

3. 케라스 모델에서 손실 함수와 측정 지표 등을 지정하는 메서드는 무엇인가요?

답 : compile()

 

compile()메서드에서 손실 함수의 종류와 훈련 과정에서 계산하고 싶은 측정값을 지정할 수 있다

 

 

4. 정수 레이블을 타깃으로 가지는 다중 분류 문제일 때 케라스 모델의 compile()메서드에 지정할 손실 함수로 적절한 것은 무엇인가요?

답 : sparse_categorical_crossentropy

 

케라스 모델에서 객체의 compile()메서드에서는 손실 함수의 종류를 필수적으로 지정해야 한다이때, 정수로 된 타깃값을 원-핫 인코딩 과정을 거치지 않고 사용해 엔트로피 손실을 계산하는 함수가 sparse_categorical_crossentropy이다

 

 

선택미션 : chapter 07-2 확인문제 풀고 풀이과정 정리

 

1. 다음 중 모델의 add()메서드 사용법이 올바른 것은 어떤 것인가요?

답 : model.add(keras.layers.Dense(10,activation='relu'))

 

add()는 케라스 모델에서 층을 추가하는 메서드로, keras.layers 패키지 아래에 있는 층의 객체를 입력받아 신경망 모델에 추가한다add()메서드를 호출하여 전달한 순서대로 층이 늘어난다

 

2. 크기가 300x300인 입력을 케라스 층으로 펼치려고 합니다. 다음 중 어떤 층을 사용해야 하나요?

답 : Flatten

 

Flatten 클래스는 배치 차원을 제외하고 나머지 입력 차원을 모두 일렬로 펼치는 역할을 한다입력에 곱해지는 가중치나 절편이 없다는 특징이 있다Flatten 층은 입력층 바로 뒤에 추가한다

 

3. 다음 중에서 이미지 분류를 위한 심층 신경망에 널리 사용되는 케라스의 활성화 함수는 무엇인가요?

답 : 렐루(ReLU) 함수

 

입력이 양수일 경우 입력을 통과시키고 음수일 경우 0으로 만드는 함수이다

 

렐루 함수는 max(0,z)와 같이 쓸 수 있는데, z가 0보다 크면 z를 출력하고, 0보다 작으면 0을 출력한다는 뜻이다렐루 함수는 이미지 처리에서 특히 좋은 성능을 보인다고 알려져 있는 함수이다

 

4. 다음 중 적응적 학습률을 사용하지 않는 옵티마이저는 무엇인가요?

답 : SGD

 

옵티마이저란 신경망의 가중치와 절편을 학습하기 위한 알고리즘/방법을 의미하며 경사 하강법 알고리즘의 종류로는SGD, 네스테로프 모멘텀, RMSprop, Adam 등이 있다

 

적응적 학습률이란 모델이 최적점에 가까이 갈수록 학습률을 낮추는 것을 의미하며, 이러한 방식을 사용하면 안정적으로 최적점에 수렴할 가능성이 높아진다.적응적 학습률을 사용하는 옵티마이저로는 Adagrad, RMSprop, Adam 등이 있다

profile

갓생 살고 싶은 대학생 블로그

@파도의 물보라

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!