“Do it! 딥러닝”이 출간되었습니다.

x9791163031093Do it! 딥러닝 입문“이 출간되었습니다! 이 책은 번역서가 아니라 제가 직접 쓴 책입니다! 🙂

알고리즘 공식을 유도하고 직접 파이썬으로 구현해 보면서 딥러닝에 숨겨진 실체를 흥미진진하게 파헤칩니다. 또 텐서플로를 사용해 실전 딥러닝 구현 감각을 익히도록 돕습니다. 좋은 출판사의 도움을 받아 훌륭한 일러스트와 알찬 내용으로 꾸몄습니다. 딥러닝을 어떻게 시작할지 막막하다면 이 책을 자신있게 권해드립니다.

온라인/오프라인 서점에서 판매중입니다. [교보문고] [Yes24] [알라딘] [전자책]

감사합니다!!! 🙂

  • 코로나 때문에 스터디를 진행하지 못하는 대신 유튜브에 강의를 올렸습니다! 재미있게 봐 주세요. 🙂
  • 이 영상은 구름 에듀에서도 볼 수 있습니다.

“Do it! 딥러닝”이 출간되었습니다.”에 대한 14개의 생각

  1. Sirius B

    안녕하세요.
    ‘Do it! 딥러닝 입문’ 책을 구매해서 학습 중 입니다.
    딥러닝 입문자로서 단비와 같은 책을 내주셔서 감사의 말씀 드립니다.
    한가지 질문이 있어서 이렇게 댓글을 남기게 되었습니다.
    책의 내용 중에 110 페이지 SingleLayer 클래스의 add_bias 메소드에 대해서 궁금해서요.
    이 메소드에 대한 설명이 어디에도 없어서 혹시 어디선가 호출을 해야하는데 빠진건지, 아니면 예약된 메소드라서 자동으로 불러지는건지 알고싶습니다.
    메소드의 내용은 간단하고 주석으로 설명이 되어있어서 이해는 되는데, 자동으로 어디선가 호출이 되어서 반영이 되는건지, 아니면 호출하는 코드가 빠진건지 알고싶어요.
    답변 주시면 감사하겠습니다.
    읽고 싶은 책을 내주셔서 감사합니다.

    Liked by 1명

    응답
    1. 박해선 글의 글쓴이

      아이고 제가 실수로 그 메서드를 미처 빼지 못했네요. 처음 책을 쓸 때 가중치와 절편을 하나로 합친 행렬을 사용했습니다. 이때 사용하던 메서드입니다. 나중에 조금 더 이해하기 쉽도록 가중치와 절편을 따로 나누었습니다. 삭제해야 할 메서드인데 놓쳤나 봅니다. ㅜㅜ add_bias 메서드는 지워 주세요. 오류를 알려 주셔서 감사드립니다! 🙂

      좋아요

      응답
  2. philhoon oh

    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명

    응답
  3. ㅎㅎ

    p104에서
    neuron = LogisticNeuron()
    neuron.fit(x_train, y_train)

    np.mean(neuron.predict(x_test) == y_test)를 실행시키면
    RuntimeWarning: overflow encountered in exp 오류가 뜨는데 어떻게 해결하면 좋을까요?

    좋아요

    응답
    1. ㅎㅎ

      from scipy.special import expit 이거를 이용하여
      def activation(self, z):
      a = 1 / (1 + np.exp(-expit(z)))
      return a
      하면
      0.82가 아닌 0.38정도로 값이 떨어지는데 코드를 어떻게 입력하는 것이 좋을까요?

      좋아요

      응답
      1. 박해선 글의 글쓴이

        안녕하세요. np.exp()는 안전한 함수는 아닙니다. 책과 동일한 랜덤 시드를 주었더라도 여러번 실행하면 다른 결과를 만들기 때문에 오류가 생갈 수 있습니다. 사이파이의 expit()은 안전한 함수입니다. 이 함수를 사용하시려면 a = expit(z) 처럼 쓰시면 됩니다. 🙂

        좋아요

  4. gss

    안녕하세요!
    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),샘플 개수)을 왜 나누는지 알고 싶습니다.
    답변 주시면 정말 감사하겠습니다.

    좋아요

    응답
    1. 박해선 글의 글쓴이

      안녕하세요. 박해선입니다. 163페이지 위쪽의 backprop 메서드를 보시면 그래디언트를 계산할 때 오차를 샘플 개수로 나누어 줍니다. 이 값과 스케일을 맞추기 위해 가중치도 샘플 개수로 나누어 주는 경우가 많습니다. 샘플 개수로 나누지 않아도 괜찮습니다. 대신 규제 하이퍼파라미터인 l1, l2를 더 낮추면 됩니다. 🙂

      좋아요

      응답
  5. 김지훈

    안녕하세요 책을 통해 공부하던 중 궁금한 내용이 생겨 질문남깁니다!!
    p.103 코드를 보면 # 안전한 np.exp() 계산을 위해 라는 주석이 달려있는데 이 의미가 무엇인지 아무리 찾아봐도 모르겠습니다. 안전한 np.exp()란 무엇인지 np.clip(z, -100, None)에서 최소값을 -100으로 설정한 이유를 알 수 있을까요?
    답변주시면 감사하겠습니다.

    좋아요

    응답
    1. 박해선 글의 글쓴이

      안녕하세요. 지수함수는 x 값이 커짐에 따라 급격하게 증가합니다. 이런 이유로 np.exp() 함수에 큰 양수를 입력하면 inf 가 반환됩니다. 이를 방지하고자 z 값의 크기를 제한한 것입니다. -100은 임의로 정한 값입니다. 이 값이 충분히 크기 때문에 결과에 큰 영향을 미치지 않을 것 같습니다. 감사합니다.

      좋아요

      응답

댓글 남기기

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.