Tensorflow 101 - 19. 히든레이어 (실습)

Поделиться
HTML-код
  • Опубликовано: 3 фев 2025

Комментарии • 29

  • @officialdecal
    @officialdecal 2 года назад +1

    영상을 보고 궁금했던 점들을 다른 분들께서 이미 질문해주셨네요 :) 덕분에 오늘도 잘 배워갑니다. 좋은 영상 감사합니다!

  • @line9127
    @line9127 4 года назад +3

    기존 코드에 히든레이어를 적용하여 딥러닝 실습까지 마치니...
    미지의 세계로 여겨졌던 머신러닝 / 딥러닝이 가깝게 느껴집니다. ^^
    고맙습니다.

  • @dduckyee
    @dduckyee 4 года назад +3

    X = tf.keras.layers.Input(shape=[4])
    H = tf.keras.layers.Dense(8, activation='swish')(X)
    H = tf.keras.layers.Dense(8, activation='swish')(X)
    H = tf.keras.layers.Dense(8, activation='swish')(X)
    Y = tf.keras.layers.Dense(3, activation = 'softmax')(H)
    model = tf.keras.models.Model(X, Y)
    model.compile(loss='categorical_crossentropy', metrics=['accuracy'])
    위 코드를 실행 시킨 뒤
    model.summary()
    로 모델을 확인 하면
    =================================================================
    input_4 (InputLayer) [(None, 4)] 0
    _________________________________________________________________
    dense_8 (Dense) (None, 8) 40
    _________________________________________________________________
    dense_9 (Dense) (None, 3) 27
    =================================================================
    이런식으로 히든레이어가 하나 밖에 뜨지 않는 것 같은데 정상인가요?

    • @봉수골개발자이선비
      @봉수골개발자이선비  4 года назад +1

      중간에 작성하신 히든레이어들의 인풋을 모두 X로 주셨네요. 코드를 복사했을 때에 자주 하는 실수죠. H로 변경해 주셔야 해요~ :)

    • @dduckyee
      @dduckyee 4 года назад +1

      @@봉수골개발자이선비 아 죄송합니다 ㅠㅠ 저것도 확인을 못했네요

  • @ogs0518
    @ogs0518 4 года назад +1

    2:44 해당 코드를 다시 run하는 것 같은데, 그러면 학습을 그만큼 더 하는건가요? 제가 해보니까 run을 다시 할 때마다 학습이 초기화 되는것 같은데 다른 방법이 있는건가요??

    • @봉수골개발자이선비
      @봉수골개발자이선비  4 года назад +1

      model.fit 코드 부분만 따로 셀을 만들어 주셔야 합니다.
      fit을 여러번 돌리면 추가 학습을 하지만
      model.compile 코드가 실행되면 모델을 초기화합니다.

  • @wonilshim6195
    @wonilshim6195 4 года назад +3

    Keras가 정말 열일 하는 분이셨군요

    • @봉수골개발자이선비
      @봉수골개발자이선비  4 года назад

      네.
      tf 1.0 버전은 사용하기 어려웠는데,
      2.0에서 keras를 품으면서 정말 쉽게 사용이 가능해 졌어요.

  • @강승구-m8u
    @강승구-m8u 3 года назад +2

    H레이어를 만들때 넣어주는 값이 10인 이유는 뭐고, 이숫자를 늘리면 손실이 더 줄어드나요?

    • @봉수골개발자이선비
      @봉수골개발자이선비  3 года назад

      이유가 특별이 있는 건 아니에요. 모델을 만드는 사람이 그냥 선택해주는 숫자입니다. 이렇게 모델을 만들때 사람이 결정해 주어야 하는 부분이 있는데요. 그것들을 '하이퍼 파라미터'라고 해요.
      하이퍼 파라미터들은 정해진 값이 있는 것은 아니고, 모델에 맞는 적절한 파라미터를 찾아가는 것이 모델을 만드는 과정이라고 생각하시면 됩니다.

  • @hmnyari
    @hmnyari 4 года назад +2

    강좌 정말 잘보고있습니다 감사합니다
    궁금한게 있는데요 히든레이어를 추가하는 이유와 그로 인한 장단점이 궁금합니다
    처리속도라던지 정확도라던지 히든레이어가 많아지면 뭐가 달라지는지 등이요

    • @봉수골개발자이선비
      @봉수골개발자이선비  4 года назад +1

      구조를 복잡하게 함으로써 더 복잡한 문제를 풀 수 있게 됩니다.
      비유를 들어 설명하자면 물을 정수할 때에 한 단계로만 정수를 하기 보다 정수의 단계를 깊게 할수록 물을 더 깨끗하게 정수할 수 있는 것과 비슷하다고 생각하면 되겠습니다.
      물론 구조를 복잡하게 되면 시간이 좀 더 걸리겠죠.
      처리속도의 손실을 통해 정확도를 높이는 거에요.

    • @hmnyari
      @hmnyari 4 года назад

      @@봉수골개발자이선비 오오 완전 좋네요 사용도 간단하고 그럼 시간만 괜찮다면 무조건 써야겠네요 ㅎㅎ

  • @양혁진-z9e
    @양혁진-z9e 4 года назад +1

    안녕하세요 정말 유익한 수업 잘듣고 있습니다!! 헌데 해당 강의 수행 중에 Process finished with exit code 132 (interrupted by signal 4: SIGILL) 이런 에러가 발생하는데 원인이 있을까요?? 현재 파이썬 버젼 3.79, 텐서플로우 버젼 2.41 사용하고 있습니다.

    • @봉수골개발자이선비
      @봉수골개발자이선비  4 года назад

      파이썬 환경 문제로 발생하는 에러입니다. 파이썬을 잘못 설치되었거나 여러 버전의 파이썬이 설치되면서 오동작을 하고 있는 것 같아요. 파이썬 환경에 대해 공부해 보시고, 파이썬을 모두 삭제 후, 깨끗한 상태에서 재설치하여 진행해 보세요.

  • @Lulllllulalllla
    @Lulllllulalllla 3 года назад +1

    개발자님 혹시 히든레이어 개수 또는 노드를 늘리면 뭐가 변하는 건가요? 더 정확한 값을 예측할 수 있는 건가요? 그러면 히든레이어 개수를 정말 많이하게 된다면 훨씬 정확한 예측을 할 수 있는건가요?

    • @봉수골개발자이선비
      @봉수골개발자이선비  3 года назад

      1, 노드와 레이어가 많은 큰 모델은 주어진 데이터에 대해 학습을 잘 할 수 있는 능력을 가집니다.
      2. 아주 큰 모델을 학습시기기 위해서 필요한 기법들을 공부해야 합니다.
      3. 주어진 데이터를 잘 외우기에 오버피팅의 문제가 발생합니다. 현실에 쓸만한 모델을 만들기 위해서는 오버피팅을 방지할 수 있는 방법을 추가로 익혀야 합니다.
      4. 간단한 문제에 큰 모델을 쓰는 것은 컴퓨팅의 비효율이 심합니다. (기본적으로 딥러닝은 비효율이 높은 모델입니다.) 최소한의 크기로 높은 정확도를 만들어 효율이 좋은 모델을 만드는 것이 실력이라고 생각하시면 되겠습니다.

  • @User-danahan
    @User-danahan 4 года назад +2

    강의 너무 재미있게보고있어요 ~ 궁금한게있습니다! 히든레이어추가할때 "임의로" 히든레이어갯수 (3개)와 노드(8)이라고 정하는건가요?
    "구조를 복잡하게 함으로써 더 복잡한 문제를 풀 수 있게 됩니다."라고 하셨는데....
    막.. 히든레이어 10개추가하고, 노드부분도 막 100으로하고;; 그럼 완전 정확해질까요;ㅁ;? ...
    어디까지가 정할수 있는 범위인지 @_@ 궁금해서 댓글남겨요~~

    • @봉수골개발자이선비
      @봉수골개발자이선비  4 года назад +2

      네. 임의로 정하는 것입니다.
      모델에 대해서는 아래의 문장을 이해하시면 되겠습니다.
      "구조를 복잡하게 만들어서
      학습을 제대로 시키기만 한다면,
      준비한 데이터에 대해
      더욱 정확한 모델"을 학습시킬 수 있습니다. "
      다만,
      1. 복잡하면 제대로 학습시키는 게 어려워 집니다.
      2. 준비한 데이터가 아닌 학습에 사용되지 않은 현실의 데이터에 대해서도 결과를 내는 모델을 만드는 것도 추가적인 공부가 필요합니다.

    • @lukas-ub2jr
      @lukas-ub2jr 3 года назад

      @@봉수골개발자이선비 학습시키기 어려워진다는게 시간이 오래걸려서 그렇다는 의미인가요?? 아니면 너무 복잡해지면 오히려 학습력이 더 떨어질수도 있다는 의미인가용??

    • @lukas-ub2jr
      @lukas-ub2jr 3 года назад

      그리고 한 개의 히든 레이어에 다수의 노드를 넣는것과 다수의 히든레이어의 소수의 노드를 넣는것중에 어떤것이 더 효울적인가요?
      예를 들면 한 개의 히든레이어와 64개의 노드와 두개의 히든레이어와 각각 8개의 노드 같은 경우용

    • @User-danahan
      @User-danahan 3 года назад

      @@lukas-ub2jr 정답이없어서 많이해봐야할것같아요... ㅠㅠ

  • @Minu25n1
    @Minu25n1 4 года назад +1

    여러번 해보니까 일단, 기본구조를 암기해서 코딩하는게 가능해지는군요! 매우 알아듣기 쉽고, 무엇보다 재밌습니다!!
    다만, 이렇게 배운 멀티레이어를 어떻게 활용해보고 연습해 볼 수 있을지 난감한 느낌이 들긴합니다.ㅠ

    • @봉수골개발자이선비
      @봉수골개발자이선비  4 года назад +1

      영상마다 여러가지 피드백을 남겨주셔서 정말 감사드려요~! 영상을 올려보니 피드백이 정말 소중하네요. :)
      스마트폰을 교육을 받는 것으로는 이놈을 어떻게 사용할지 알수 없고 직접 사용하고 경험해보아야 자신의 문제에 어떻게 활용할 수 있을지 알게 되잖아요? 더 능숙하게 사용하게 될 수록 더 많은 것에 활용할 수 있게 되겠죠.
      딥러닝, 머신러닝도 마찬가지라고 생각해요. 자신의 데이터를 가지고 여러번 반복해서 직접 돌려보는 것이 가장 빨리 그 궁금증을 해결하는 길이라고 생각합니다. :)

  • @JGK-p8n
    @JGK-p8n 4 года назад +1

    수업 늘 감사하게 보고 있습니다.
    가르쳐주신대로 따라해보고 있는데
    ValueError: Unknown activation function:swish
    라고 swish 를 쓸수 없다고 나오는데 어떻게 해야 할까요..ㅜㅜ

    • @봉수골개발자이선비
      @봉수골개발자이선비  4 года назад

      텐서플로우 버전을 최신 버전으로 올리시면 됩니다.
      이전 버전에서는 swish를 사용할 수 없습니다. :)

    • @seungwoocheon6347
      @seungwoocheon6347 4 года назад

      @@봉수골개발자이선비 같은 질문있었는데 tf 업그레이드 해보겠습니다