글 수 160


이제 어느정도 기초를 다져서 단순하게 컨볼루션,풀링 등을 중첩해서 사용하면서 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
안녕하세요 챗봇을 공부하고 있는 학생입니다. [2] 초보개발 2019-02-20 163
깊은바다님께 깊은 자문을 구하고싶습니다. [2] wcchoi95 2017-11-29 161
안녕하세요! 컨택을 하고 싶어서 게시글을 올려봅니다. 박서희 2019-06-06 160
인공지능 개발자 분들의 따끔한 조언 부탁드립니다. [1] ai꿈나무 2019-07-09 149
질문있습니다.. - Dialogflow와 Heroku로 카카오톡 챗봇 만들기 [1] swgooddream 2018-09-09 148
카테고리 자동분류 [1] 와니와니 2018-10-24 146
케라스 창시자에게 배우는 딥러닝 카미오레오 2018-12-07 145
앤드류 응이 말하는 AI, 경영전략 깊은바다 2017-04-21 142
영화 패신저스의 대화 인터페이스 깊은바다 2018-10-03 141
학습로봇 관심있으신 분 찾습니다 사과애플 2019-07-22 140
구글인셉션v3를 사용하여 이미지 추론 작업 [1] 멍쩡 2019-04-15 139
MS의 Bot Framework와 LUIS 챗봇 세미나 깊은바다 2017-09-18 137
오랜만에 버거킹에 갔는데 자동주문기계가 생겼네요 [1] 깊은바다 2017-04-24 136
순환신경망을 이용해서 자리 배치가 가능할까요? [3] RedLaboratory 2017-06-07 135
방향을 잡지못해 질문 드립니다. [3] 몽이삼촌 2019-07-10 133