레플리
글 수 218


이제 어느정도 기초를 다져서 단순하게 컨볼루션,풀링 등을 중첩해서 사용하면서 mnist 숫자 분류를 하는 신경망을 재미삼아 여럿 만들면서 연습하고 있습니다. 그러다가 욕심이 생겨서 아래와 같은 구글의 인셉션 모델(버전 1)을 만들어 보려고 했습니다.Inception-V1 Model

 

보니까 컨볼루션, 풀링 위주로 되어있어서 해볼만 한 것 같더라고요(제가 느끼기에만). 그래서 무작정 만들어 보려고 하니까 모델 중간중간에 가지가 따로 나와서 소프트 맥스로 빠지는 곳이 있었습니다. 이 것이 뭔가 해서 찾아봤더니 깊은 신경망으로 인해 역전파에 의한 학습이 제대로 이뤄지지 않는 것을 막기위해 첨가한 것이더군요. auxilliary classifier라고도 하는 것 같습니다.

생전 처음 보는 구조라 당황했지만 일단 저 위 그림 그대로 모델을 만들어보고 loss 함수를 다음과 같이 만들었습니다.

loss = tf.reduce_mean(0.7*tf.nn.softmax_cross_entropy_with_logits(logits = model(실제 전체 모델), labels=y_target) + 0.3*(tf.nn.softmax_cross_entropy_with_logits(logits = first_soft(첫번째로 가지 친 소프트맥스), labels=y_target) + tf.nn.softmax_cross_entropy_with_logits(logits = second_soft(두번째로 가지 친 소프트맥스), labels=y_target)))

 

이렇게 했더니 역시나 안되더군요. 제가 너무 단순하게 생각해서 loss 함수를 잘못 만든걸까요? 아니면 저걸 위해 모델에 뭔가 색다른 것을 추가해야하는 것일까요? 개강 전까지 저 auxiliary classifier만 해결하여 인셉션 모델을 구현해보고 싶은데 답답할 따름입니다.

엮인글 :

깊은바다

2018.08.18 13:45:54
*.68.247.188

실제 구현을 하시다니 대단하네요~ 그런데 메인이 0.7, 첫번째가지 0.3, 두번째가지 1 인가요?

 

# The total loss used by the inception net during training.

total_loss = real_loss + 0.3 * aux_loss_1 + 0.3 * aux_loss_2

 

아래 링크를 보니까 1, 0.3, 0.3으로 loss를 정하는 것 같은데요. 저도 구현을 해본적이 없어서 잘 모르겠네요^^; 소스코드를 구글은 공개하지 않고 있고, 비슷한게 카피한 것도 찾기가 힘든 것 같습니다. 완성되면 소개해주세요 ㅎㅎ

 

https://towardsdatascience.com/a-simple-guide-to-the-versions-of-the-inception-network-7fc52b863202

딥린이

2018.08.19 08:55:51
*.47.126.27

항상 친절한 답변 감사합니다. 저가 로스 함수 설명을 좀 잘못 설명드렸네요. 제가 본 사이트에서 aux loss가 0.3 비율을 갖는다길래 실제 loss를 0.7로 잡고, 나머지 모든 aux-loss를 합쳐서 0.3으로 한겁니다. 담주가 개강이라 완성은 아주 늦을 수도 같네요 ㅠㅠ 완성되면 꼭 올려보겠습니다!

질문이 더 생겼는데요. 보통 그래프를 구현할 때 반복되는 부분을 함수로 만들어서 쓰게 되잖아요. 각 노드의 변수들(가중치나 바이어스 같은 갱신되는 것들)을 책에서는 전체 소스의 맨 처음에 두어 함수 바깥에 선언하여 전역변수로 하던데 꼭 그렇게 해야하는지 궁금합니다. 또 트레이닝이 끝나고 실제 사용시 aux-loss를 제거해야하는데, tf.Check_numerics와 remove_training_nodes를 이용하는게 맞는지 알고싶습니다?

 

List of Articles
제목 글쓴이 날짜sort 조회 수
카톡 대화를 학습하는 AI 아바타 챗봇 - 레플리 file 깊은바다 2024-01-17 352
질문이 있습니다. [2] 빛똥빼숏 2017-11-16 170
RSS 기능을 활성화해주실 수 있을까요? [2] revirth 2017-11-28 80
깊은바다님께 깊은 자문을 구하고싶습니다. [2] wcchoi95 2017-11-29 199
챗봇회사인 플런티가 삼성전자에 인수되었습니다 file [2] 깊은바다 2017-11-30 313
뉴비의 자기 소개에요. [7] shark 2017-12-09 143
메리 크리스마스! [2] NeuroWhAI 2017-12-25 73
봉이 김선달의 대동강 비트워터 판매기 깊은바다 2018-01-13 117
외국인 노동자와 인공지능의 공통점 깊은바다 2018-01-21 181
개인 서버에서 딥러닝 코드를 돌리니 너무 느리네요. [1] NeuroWhAI 2018-01-29 155
사람들이 많지는 않네요 [3] 맛동산 2018-02-01 114
[질문] DCGAN을 시도해봤는데 잘 안되네요. [7] NeuroWhAI 2018-02-04 167
질문입니다 [1] 성공신화 2018-02-06 77
데이터 수집 어떻게 하나요? [1] 맛동산 2018-02-14 143
안녕하세요 좋은 아침 입니다. [1] 맛동산 2018-02-21 49
그래픽카드 질문 입니다. [1] 맛동산 2018-02-21 82