คำถามติดแท็ก deep-learning

Deep Learning คือพื้นที่ของการเรียนรู้ของเครื่องที่มีเป้าหมายเพื่อเรียนรู้ฟังก์ชันที่ซับซ้อนโดยใช้สถาปัตยกรรมเครือข่ายประสาทแบบพิเศษที่ "ลึก" (ประกอบด้วยหลายเลเยอร์) ควรใช้แท็กนี้สำหรับคำถามเกี่ยวกับการนำสถาปัตยกรรมการเรียนรู้เชิงลึกไปใช้ คำถามทั่วไปเกี่ยวกับการเรียนรู้ของเครื่องควรติดแท็ก "แมชชีนเลิร์นนิง" การใส่แท็กสำหรับไลบรารีซอฟต์แวร์ที่เกี่ยวข้อง (เช่น "keras", "tensorflow", "pytorch", "fast.ai" และอื่น ๆ ) จะเป็นประโยชน์


3
ทำความเข้าใจกับ Keras LSTMs
ฉันพยายามที่จะกระทบยอดความเข้าใจของฉันเกี่ยวกับ LSTM และชี้ให้เห็นที่นี่ในโพสต์นี้โดย Christopher Olahนำมาใช้ใน Keras ฉันกำลังติดตามบล็อกที่เขียนโดย Jason Brownleeสำหรับบทช่วยสอนของ Keras สิ่งที่ฉันสับสนเป็นหลักคือ การปรับแต่งชุดข้อมูลใหม่เข้า[samples, time steps, features]และ LSTM stateful ให้ความสนใจกับคำถามสองข้อข้างต้นโดยอ้างอิงจากรหัสที่วางไว้ด้านล่าง: # reshape into X=t and Y=t+1 look_back = 3 trainX, trainY = create_dataset(train, look_back) testX, testY = create_dataset(test, look_back) # reshape input to be [samples, time steps, features] trainX = numpy.reshape(trainX, (trainX.shape[0], …

15
ความแตกต่างระหว่างช่องว่างระหว่าง 'SAME' และ 'VALID' ใน tf.nn.max_pool ของ tenorflow คืออะไร
ความแตกต่างระหว่าง 'เดียวกัน' และ 'ถูกต้อง' padding ในคืออะไรtf.nn.max_poolของtensorflow? ในความคิดของฉัน 'ถูกต้อง' หมายความว่าจะไม่มีการขยายศูนย์ใด ๆ นอกขอบเมื่อเราทำการรวมกลุ่มสูงสุด ตามคู่มือคณิตศาสตร์บิดสำหรับการเรียนรู้ลึกมันบอกว่าจะมีช่องว่างในการประกอบการสระว่ายน้ำไม่มีคือเพียงแค่ใช้ 'ถูกต้อง' tensorflowของ แต่ช่องว่างภายใน 'SAME' ของ max pool tensorflowคืออะไร

2
คำอธิบายอินพุต Keras: input_shape, หน่วย, batch_size, dim, ฯลฯ
สำหรับการใด ๆ ชั้น Keras ( Layerclass), คนที่สามารถอธิบายวิธีการที่จะเข้าใจความแตกต่างระหว่างinput_shape, units, dimฯลฯ ? ตัวอย่างเช่น doc says unitsระบุรูปร่างผลลัพธ์ของเลเยอร์ ในภาพของโครงข่ายประสาทด้านล่างhidden layer1มี 4 หน่วย สิ่งนี้แปลโดยตรงกับunitsคุณสมบัติของLayerวัตถุหรือไม่ หรือunitsใน Keras มีรูปร่างเท่ากันทุกน้ำหนักในเลเยอร์ที่ซ่อนอยู่คูณด้วยจำนวนของหน่วย? ในระยะสั้นหนึ่งจะเข้าใจ / แสดงคุณลักษณะของโมเดล - โดยเฉพาะเลเยอร์ - ด้วยภาพด้านล่างได้อย่างไร

11
ความหมายของคำว่า logits ใน TensorFlow คืออะไร?
ในฟังก์ชั่น TensorFlow ต่อไปนี้เราจะต้องป้อนการเปิดใช้งานของเซลล์ประสาทเทียมในชั้นสุดท้าย ที่ฉันเข้าใจ แต่ฉันไม่เข้าใจว่าทำไมเรียกว่าบันทึก นั่นคือฟังก์ชันทางคณิตศาสตร์ใช่ไหม loss_function = tf.nn.softmax_cross_entropy_with_logits( logits = last_layer, labels = target_output )

3
วิธีตีความ“ การสูญเสีย” และ“ ความแม่นยำ” สำหรับโมเดลการเรียนรู้ของเครื่อง
เมื่อฉันฝึกโครงข่ายประสาทเทียมด้วย Theano หรือ Tensorflow พวกเขาจะรายงานตัวแปรที่เรียกว่า "การสูญเสีย" ต่อยุค ฉันควรตีความตัวแปรนี้อย่างไร การสูญเสียที่สูงขึ้นนั้นดีขึ้นหรือแย่ลงหรือความหมายของประสิทธิภาพขั้นสุดท้าย (ความถูกต้อง) ของเครือข่ายประสาทของฉันคืออะไร

5
วิธีที่ดีที่สุดในการบันทึกโมเดลที่ได้รับการฝึกฝนใน PyTorch
ฉันกำลังมองหาวิธีอื่นในการบันทึกโมเดลที่ได้รับการฝึกฝนใน PyTorch จนถึงตอนนี้ฉันได้พบสองทางเลือก torch.save ()เพื่อบันทึกโมเดลและtorch.load ()เพื่อโหลดโมเดล model.state_dict ()เพื่อบันทึกโมเดลที่ผ่านการฝึกอบรมและmodel.load_state_dict ()เพื่อโหลดโมเดลที่บันทึกไว้ ฉันได้พบกับการสนทนานี้ที่แนะนำวิธีที่ 2 มากกว่าวิธีที่ 1 คำถามของฉันคือทำไมทำไมถึงเลือกวิธีที่สอง เป็นเพียงเพราะโมดูลtorch.nnมีสองฟังก์ชั่นเหล่านั้นและเราสนับสนุนให้ใช้พวกเขา?

11
ทำไม binary_crossentropy และ categorical_crossentropy ให้การแสดงต่างกันสำหรับปัญหาเดียวกัน?
ฉันพยายามฝึก CNN เพื่อจัดหมวดหมู่ข้อความตามหัวข้อ เมื่อฉันใช้ไบนารีข้ามเอนโทรปีฉันจะได้รับความแม่นยำประมาณ 80% และจากการข้ามเอนโทรปีอย่างเด็ดขาดฉันจะได้รับความแม่นยำ 50% ฉันไม่เข้าใจว่าทำไมถึงเป็นเช่นนี้ มันเป็นปัญหามัลติคลาสนั่นไม่ได้หมายความว่าฉันต้องใช้การข้ามเอนโทรปีแบบเด็ดขาดและผลลัพธ์ที่ได้จากการข้ามเอนโทรปีแบบไบนารีนั้นไร้ความหมาย? model.add(embedding_layer) model.add(Dropout(0.25)) # convolution layers model.add(Conv1D(nb_filter=32, filter_length=4, border_mode='valid', activation='relu')) model.add(MaxPooling1D(pool_length=2)) # dense layers model.add(Flatten()) model.add(Dense(256)) model.add(Dropout(0.25)) model.add(Activation('relu')) # output layer model.add(Dense(len(class_id_index))) model.add(Activation('softmax')) จากนั้นฉันก็คอมไพล์มันแบบนี้โดยใช้categorical_crossentropyเป็นฟังก์ชันการสูญเสีย: model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy']) หรือ model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy']) โดยสัญชาตญาณมันสมเหตุสมผลแล้วว่าทำไมฉันถึงต้องการใช้เอนโทรปีแบบข้ามหมวดหมู่ฉันไม่เข้าใจว่าทำไมฉันถึงได้ผลลัพธ์ที่ดีด้วยเลขฐานสองและผลลัพธ์ที่ไม่ดีกับการจัดหมวดหมู่

8
ฟังก์ชัน tf.nn.embedding_lookup ทำอะไร
tf.nn.embedding_lookup(params, ids, partition_strategy='mod', name=None) ฉันไม่เข้าใจหน้าที่ของฟังก์ชั่นนี้ มันเหมือนโต๊ะค้นหาหรือไม่? ซึ่งหมายถึงการส่งคืนพารามิเตอร์ที่สอดคล้องกับแต่ละ id (ในรหัส)? ตัวอย่างเช่นในskip-gramโมเดลถ้าเราใช้tf.nn.embedding_lookup(embeddings, train_inputs)แล้วแต่ละอันtrain_inputจะพบการฝังที่สอดคล้องกันหรือไม่

10
Keras, วิธีรับเอาต์พุตของแต่ละเลเยอร์
ฉันได้ฝึกรูปแบบการจำแนกเลขฐานสองด้วย CNN และนี่คือรหัสของฉัน model = Sequential() model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1], border_mode='valid', input_shape=input_shape)) model.add(Activation('relu')) model.add(Convolution2D(nb_filters, kernel_size[0], kernel_size[1])) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=pool_size)) # (16, 16, 32) model.add(Convolution2D(nb_filters*2, kernel_size[0], kernel_size[1])) model.add(Activation('relu')) model.add(Convolution2D(nb_filters*2, kernel_size[0], kernel_size[1])) model.add(Activation('relu')) model.add(MaxPooling2D(pool_size=pool_size)) # (8, 8, 64) = (2048) model.add(Flatten()) model.add(Dense(1024)) model.add(Activation('relu')) model.add(Dropout(0.5)) model.add(Dense(2)) # define a binary classification problem model.add(Activation('softmax')) model.compile(loss='categorical_crossentropy', optimizer='adadelta', …

12
ทำไมต้องเปิดใช้งานฟังก์ชั่นแบบไม่เชิงเส้นในเครือข่ายนิวรัล backpropagation
ฉันได้อ่านบางอย่างเกี่ยวกับโครงข่ายประสาทและฉันเข้าใจหลักการทั่วไปของโครงข่ายประสาทชั้นเดียว ฉันเข้าใจความต้องการเลเยอร์ aditional แล้ว แต่ทำไมจึงใช้ฟังก์ชั่นเปิดใช้งานแบบไม่เชิงเส้น คำถามนี้ตามมาด้วยคำถามนี้: อะไรคืออนุพันธ์ของฟังก์ชั่นการเปิดใช้งานที่ใช้ในการแพร่กระจายย้อนหลัง?


4
ความเข้าใจที่ชาญฉลาดเกี่ยวกับการแปลงสัญญาณ 1D, 2D และ 3D ในโครงข่ายประสาทเทียมแบบ Convolutional
ใครช่วยอธิบายให้ชัดเจนถึงความแตกต่างระหว่าง 1D, 2D และ 3D Convolutions ใน Convolutional Neural Network (ในการเรียนรู้เชิงลึก) ด้วยการใช้ตัวอย่าง

2
ทำไมเราต้องเรียก zero_grad () ใน PyTorch
zero_grad()ต้องมีการเรียกวิธีการนี้ในระหว่างการฝึกอบรม แต่เอกสารประกอบก็ไม่ค่อยมีประโยชน์ | zero_grad(self) | Sets gradients of all model parameters to zero. ทำไมเราต้องเรียกวิธีนี้?

5
บทบาทของ“ Flatten” ใน Keras คืออะไร?
ฉันพยายามที่จะเข้าใจบทบาทของFlattenฟังก์ชั่นใน Keras ด้านล่างนี้คือรหัสของฉันซึ่งเป็นเครือข่ายสองชั้นที่เรียบง่าย ใช้ข้อมูล 2 มิติของรูปร่าง (3, 2) และส่งออกข้อมูลรูปร่าง 1 มิติ (1, 4): model = Sequential() model.add(Dense(16, input_shape=(3, 2))) model.add(Activation('relu')) model.add(Flatten()) model.add(Dense(4)) model.compile(loss='mean_squared_error', optimizer='SGD') x = np.array([[[1, 2], [3, 4], [5, 6]]]) y = model.predict(x) print y.shape สิ่งนี้จะพิมพ์ออกมาที่yมีรูปร่าง (1, 4) อย่างไรก็ตามถ้าฉันลบFlattenเส้นมันก็จะพิมพ์ออกมาที่yมีรูปร่าง (1, 3, 4) ฉันไม่เข้าใจเรื่องนี้ จากความเข้าใจของฉันเกี่ยวกับโครงข่ายประสาทเทียมmodel.add(Dense(16, input_shape=(3, 2)))ฟังก์ชันนี้กำลังสร้างเลเยอร์ที่เชื่อมต่อเต็มรูปแบบที่ซ่อนอยู่โดยมี 16 โหนด …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.