12. เริ่มต้นกับ convolutional neural network อธิบายด้วยภาพ เข้าใจง่ายสุดใน 3 โลกแล้วครับ

Поделиться
HTML-код
  • Опубликовано: 18 янв 2020
  • 12. เริ่มต้นกับ convolutional neural network อธิบายด้วยภาพ เข้าใจง่ายสุดใน 3 โลกแล้วครับ
    ** ใครอยากดำดิ่ง รอก่อนนะครับ ดูใน part CNN ครับ
  • НаукаНаука

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

  • @sitthiphongpromprasit7884
    @sitthiphongpromprasit7884 Год назад

    ยอดไปเลยครับอาจารย์ ขอบคุณมากคับ

  • @pawichayasuphinnapong6759
    @pawichayasuphinnapong6759 Год назад

    ขอบคุณค่า

  • @kridsumangsri964
    @kridsumangsri964 Год назад

    ขอบคุณครับอาจารย์ อธิบายดีมากครับ

  • @user-dy1hd4pq4s
    @user-dy1hd4pq4s 3 года назад

    มีสไลดประกอบไหมครับแหะๆดีมากๆเลยย

  • @KP-rk6iy
    @KP-rk6iy 2 года назад +1

    ขอบคุณมากเลยค่ะที่ทำคลิปนี้
    อยากให้อาจารย์สอนการทำ CNN เกี่ยวกับการป้อนinput เป็น time series แทนรูปภาพบ้างค่ะ

  • @traisirinsaengseangfa4449
    @traisirinsaengseangfa4449 2 года назад

    อาจารย์ครับ Average Pooling ใช้ไว้ทำอะไรครับ

  • @pinyorungoral6037
    @pinyorungoral6037 Год назад

    activation ใน conv2d เอาไว้ทำอะไรหรอครับ? แล้วมันทำงานยังไง

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

    ขอบคุณมากค่ะที่ทำคลิปนี้ เข้าใจขึ้นเยอะเลยค่ะ

  • @user-fl5wr7ix1d
    @user-fl5wr7ix1d 3 года назад

    เราจะรู้ได้ไงรูปนี้มีกี่ Feature หรือมีสูตรอะไรหาครับ หายังไงครับ

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

    สงสัยครับตรงน้ำหนัก Weight ของ Filters-Map ต้องทำ Gradient descent ป่ะครับ

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

      ทำหมดครับ เพื่อหา map ที่ถูกต้องครับ

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

    ขอบคุณค่ะหมอ หมอคะคลิปนี้ดูดีมากเลยค่ะรูปแบบทำคลิปอ่ะค่ะ ไม่ต้องมีดนตรีประกอบได้ไหมคะ บางครั้งเสียงดนตรีมีรบกวนค่ะ

  • @user-rm8py2xq2s
    @user-rm8py2xq2s 4 месяца назад

    คุณพี่หายไปไหนครับ ไม่มีวีดีโอออกมาอีกเลยครับ

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

    สวัสดีครับ ขออนุญาติสอบถามครับ
    ผมกำลังทำ model CNN สำหรับแยกคลาสรูปภาพ อยู่ครับ แต่ dataset มีปัญหาเรื่อง imbalanced data สูงครับ อาจารย์รบกวนแนะนำเทคนิคสำหรับปัญหานี้ครับ ขอบคุณครับ

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

      วิธีดีที่สุดที่แนะนำให้ทำคือ คือ 1) กำปั้นทุบดินครับ หาข้อมูลเพิ่มครับถ้าเป็นรูปภาพที่หาได้ง่าย เช่นหมาหรือแมวครับ 2) ถ้าเป็นข้อมูลที่หายาก ผมจะเอารูปเดิม มา crop ขยาย ยืดหด เพิ่มจำนวน ให้แต่ละ class พอกันครับ (เรี่ยกว่า oversampling )แต่ถ้ามีจำนวณข้อมูลเยอะอาจลดจำนวณ class ที่มีมากครับ (undersampling) 3) ต้องใช้ evalution matrix อื่นๆที่ไม่ใช้ accuracy ครับ เนื่องจาก accuracy จะหลอกเราได้ใน กรณีข้อมูลไม่สมดุลกัน แนะนำ F1 score ครับ 4) ในกรณีนี้ จะเกิด overfit ใน group ที่ข้อมูลมีจำนวนมากครับ การ ใส่ regularization โดยเริ่มจากเบาไปหาหนัก เช่น batch norm,drop out (mild regularization effect) L1,L2 (moderate regularization effect) อาจจะช่วยได้ครับ วิธีแก้ก็ประมาณนี้ครับ แต่ผมว่าหารูปมาเพิ่มจะดีสุดครับ
      Link นี้น่าสนใจครับ machinelearningmastery.com/tactics-to-combat-imbalanced-classes-in-your-machine-learning-dataset/
      ยังไง ลองทำดูครับ น่าจะพอแก้ปัญหาได้ครับ

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

      Case ล่าสุดผมก็เจอ ข้อมูล ratina ของหมอตา ส่วนที่เปน DR (เบาหวานขึ้นตา) กับ ปกติ เป็น อัตราส่วน 1:2 เนื่องจากภาพเป็นภาพจาก กล้องถ่าย ratina ซึ่งจะมีภาพแบบเดียวจึงย่อ ยืด crop ไม่ได้ เลยใช้วิธีลด case ที่ normal ลงครับก็ได้ผลดีอยู่ยะครับ แสดงให้เห็นว่า ต้องขึ้นกับหน้างานด้วยครับ สุดท้ายถ้าหมอตาหารูป DR มาได้จะดีสุด ถ้าไม่ได้ค่อยยคิดตามแบบข้างงบบนครับ

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

      เป็นประโยชน์มากครับ ขอบคุณครับ

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

    จาร สอน Autoencoder ลด Dimension CNN หน่อยครับ

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

      ได้ครับ autoencoder นี้ต้องอีก ชุดนึงเลยนะครับเดี่ยวค่อยเป็นค่อยไปนะครับ ใจร่มๆครับคนสอน ทำไม่ทันครับ คนอยากเรียนมากครับ เนื้อหาก็เยอะ เก็บเรื่อง dimentional reduction ไว่ใน part advance cnn ละกันครับ

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

    อยากให้ทำ overview แบบเอา CNN ไปใช้งานจริง ในการค้นหารูปอะไรนี้ให้หน่อยครับ รับภาพมาแล้วประมวลไปนี้คือ แมว แบบใช้ tensorflow อะไรแบบนี้อ่าครับ ขอบคุณมากครับผม

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

      เดี่ยววคลิบต่อไปนะครับ ใจเย็นๆ

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

      @@piyanopnuchanat คือผมอยากรู้ว่ามันใช้งานด้านไหนยังไงบ้าง 555 ขอบคุณมากครับ

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

      ติดต่อทางเพจหรือติดต่อทางไหนได้บ้างครับ หรือว่าแค่ยูทูปอย่างเดียวครับ

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

      ทำ youtube อย่างเดียว ไม่เล่น facebook ครับ

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

      อ่อครับผมงั้นติดตามในยาวๆ คือที่ศึกษาว่าจะพาเด็กไปแข่ง ai เลยอยากลองศึกษาดูครับผม

  • @user-rq6rm1dt6p
    @user-rq6rm1dt6p 4 года назад +1

    อาจารย์คะ รบกวนสอบถามค่ะ ในส่วนของ การเลือกขนาดของ kernel ที่ว่า 5x5 นั้นเรามีหลักการเลือกอย่างไรคะ และค่าตัวเลขที่อยู่ใน kernel 5x5 คำนวณอย่างไรคะ หรือว่า CNN ทำการเลือกเอง
    และในส่วนของ Pooling จำเป็นไหมที่จะต้องมีขนาด 2x2
    ขอบพระคุณอาจารย์ล่วงหน้าค่ะ

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

      ขนาด kernel เราต้องเลือกเองครับ เดียวจะมีสอนหลักการเลือกครับ

    • @user-rq6rm1dt6p
      @user-rq6rm1dt6p 4 года назад

      Piyanop Nuchanat ขอบคุณอาจารย์มากๆค่ะ จะรอเรียนกับอาจารย์นะคะ

    • @user-rq6rm1dt6p
      @user-rq6rm1dt6p 4 года назад

      แล้วเราจะทราบได้อย่างไรคะ ว่าจะเลือกขนาด kernel เท่าไหร่ในแต่ละงานถึงจะเหมาะสมคะอาจารย์

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

      จริงแล้วขนาด kernel นี้ไม่มีใครรู้หรอกครับว่างานใดๆจะมีขนาดเท่าใหร่ครับ เกิดจากการ ลองผิดลองถูกอย่างมีหลักการครับ โดยมีต้นแบบ ยกตัวอย่างนะครับ network ที่ผมใช้ในงานของผมจะเอามาจาก VGG net ครับ ตัวนี้ชนะการประกวด imagenet ปี 2014 ที่ชอบเอาตัวนี้มาใช้ก่อนเพราะ เขียนง่าย เข้าใจง่าย debug ง่ายครับ หลักการคือเอา kernel 3*3 มาเพิ่ม feature เป็น 32, 64, 128, 256, 512 มาซ้อนกันไปเรื่อยๆ โดยมี pooling ขนาด 2*2 มาคั้นกลางครับเป้าหมายคือ accuracy ที่ได้ set เอาไว้โดยประมาณไว้ก่อน เช่น 85% 90% 95% แล้วแต่งานครับ หลังจากที่เพิ่ม feature มาทีละขั้นถ้าถึง accuracy ที่ต้องการโดยไม่มี overfitting ก็จบเลยครับ (อาจจะมีการใส่ regularization ด้วยครับ) ถ้า accuracy ไม่ถึงก็จะมีการทดลอง ปรับ เป็น 5*5 7*7 ครับ แต่ส่วนตัวอาจจะไปใช้แบบอื่นที่ไม่ใช้ vgg เช่น google net ซึ่ง network ก็จะเขียนยากขึ้นครับ ประมาณนี้นะครับหลักของ kernel size สรุปไม่มีตัวเลขตายตัวครับ ถ้า accuracy มันได้ก็ใช้ได้ครับ 555 อาจจะงงนะครับไว้ทำให้ดู clip หน้าครับผม

    • @user-rq6rm1dt6p
      @user-rq6rm1dt6p 4 года назад

      @@piyanopnuchanat อ้อ...พอเข้าใจแล้วค่ะอาจารย์ อย่างไรจะรอดู Clip หน้าของอาจารย์อีกทีนะคะ ^^