“Do it! 딥러닝 입문“이 출간되었습니다! 이 책은 번역서가 아니라 제가 직접 쓴 책입니다! 🙂
알고리즘 공식을 유도하고 직접 파이썬으로 구현해 보면서 딥러닝에 숨겨진 실체를 흥미진진하게 파헤칩니다. 또 텐서플로를 사용해 실전 딥러닝 구현 감각을 익히도록 돕습니다. 좋은 출판사의 도움을 받아 훌륭한 일러스트와 알찬 내용으로 꾸몄습니다. 딥러닝을 어떻게 시작할지 막막하다면 이 책을 자신있게 권해드립니다.
온라인/오프라인 서점에서 판매중입니다. [교보문고] [Yes24] [알라딘] [전자책]
감사합니다!!! 🙂
안녕하세요.
‘Do it! 딥러닝 입문’ 책을 구매해서 학습 중 입니다.
딥러닝 입문자로서 단비와 같은 책을 내주셔서 감사의 말씀 드립니다.
한가지 질문이 있어서 이렇게 댓글을 남기게 되었습니다.
책의 내용 중에 110 페이지 SingleLayer 클래스의 add_bias 메소드에 대해서 궁금해서요.
이 메소드에 대한 설명이 어디에도 없어서 혹시 어디선가 호출을 해야하는데 빠진건지, 아니면 예약된 메소드라서 자동으로 불러지는건지 알고싶습니다.
메소드의 내용은 간단하고 주석으로 설명이 되어있어서 이해는 되는데, 자동으로 어디선가 호출이 되어서 반영이 되는건지, 아니면 호출하는 코드가 빠진건지 알고싶어요.
답변 주시면 감사하겠습니다.
읽고 싶은 책을 내주셔서 감사합니다.
좋아요Liked by 1명
아이고 제가 실수로 그 메서드를 미처 빼지 못했네요. 처음 책을 쓸 때 가중치와 절편을 하나로 합친 행렬을 사용했습니다. 이때 사용하던 메서드입니다. 나중에 조금 더 이해하기 쉽도록 가중치와 절편을 따로 나누었습니다. 삭제해야 할 메서드인데 놓쳤나 봅니다. ㅜㅜ add_bias 메서드는 지워 주세요. 오류를 알려 주셔서 감사드립니다! 🙂
좋아요좋아요
아하 궁금증이 풀렸습니다 ㅎㅎ 감사합니다!
좋아요Liked by 1명
p171 쪽 표
두번째 뉴런 가중치 w21 => w12 인 것 같습니다 ^^
좋아요Liked by 1명
앗.. 이런 에러타가 있었네요.. ㅠ.ㅠ 잘못된 점을 찾아 주셔서 정말 감사드립니다. w_12가 맞습니다! 😀
좋아요좋아요
P315
model_lstm.summary()
책의 결과값이 다른것 같습니다.
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
embedding_6 (Embedding) (None, None, 32) 32000
_________________________________________________________________
lstm_6 (LSTM) (None, 8) 1312
_________________________________________________________________
dense_6 (Dense) (None, 1) 9
=================================================================
Total params: 33,321
Trainable params: 33,321
Non-trainable params: 0
_________________________________________________________________
param # 위와 같습니다.
좋아요Liked by 1명
안녕하세요. 에러타 맞네요. 잘못된 점을 찾아 주셔서 감사합니다! 즐거운 오후 되세요! 😀
좋아요좋아요
p104에서
neuron = LogisticNeuron()
neuron.fit(x_train, y_train)
과
np.mean(neuron.predict(x_test) == y_test)를 실행시키면
RuntimeWarning: overflow encountered in exp 오류가 뜨는데 어떻게 해결하면 좋을까요?
좋아요좋아요
from scipy.special import expit 이거를 이용하여
def activation(self, z):
a = 1 / (1 + np.exp(-expit(z)))
return a
하면
0.82가 아닌 0.38정도로 값이 떨어지는데 코드를 어떻게 입력하는 것이 좋을까요?
좋아요좋아요
안녕하세요. np.exp()는 안전한 함수는 아닙니다. 책과 동일한 랜덤 시드를 주었더라도 여러번 실행하면 다른 결과를 만들기 때문에 오류가 생갈 수 있습니다. 사이파이의 expit()은 안전한 함수입니다. 이 함수를 사용하시려면 a = expit(z) 처럼 쓰시면 됩니다. 🙂
좋아요좋아요
안녕하세요!
Do it! 딥러닝 입문을 감사히 읽고 있는 학생입니다!
다름이 아니라 책을 읽던 중 궁금증이 생겨 문의드립니다.
page 163. fit()메서드 수정하는 부분에서
================================================
# 그래디언트에서 페널티 항의 미분 값을 더합니다.
w_grad += (self.l1 * np.sign(self.w) + self.l2 * self.w) / m
================================================
w.shape은 (30, 1)인데 뒤에 m(len(x),샘플 개수)을 왜 나누는지 알고 싶습니다.
답변 주시면 정말 감사하겠습니다.
좋아요좋아요
안녕하세요. 박해선입니다. 163페이지 위쪽의 backprop 메서드를 보시면 그래디언트를 계산할 때 오차를 샘플 개수로 나누어 줍니다. 이 값과 스케일을 맞추기 위해 가중치도 샘플 개수로 나누어 주는 경우가 많습니다. 샘플 개수로 나누지 않아도 괜찮습니다. 대신 규제 하이퍼파라미터인 l1, l2를 더 낮추면 됩니다. 🙂
좋아요좋아요
안녕하세요 책을 통해 공부하던 중 궁금한 내용이 생겨 질문남깁니다!!
p.103 코드를 보면 # 안전한 np.exp() 계산을 위해 라는 주석이 달려있는데 이 의미가 무엇인지 아무리 찾아봐도 모르겠습니다. 안전한 np.exp()란 무엇인지 np.clip(z, -100, None)에서 최소값을 -100으로 설정한 이유를 알 수 있을까요?
답변주시면 감사하겠습니다.
좋아요좋아요
안녕하세요. 지수함수는 x 값이 커짐에 따라 급격하게 증가합니다. 이런 이유로 np.exp() 함수에 큰 양수를 입력하면 inf 가 반환됩니다. 이를 방지하고자 z 값의 크기를 제한한 것입니다. -100은 임의로 정한 값입니다. 이 값이 충분히 크기 때문에 결과에 큰 영향을 미치지 않을 것 같습니다. 감사합니다.
좋아요좋아요