คำถามติดแท็ก neural-network

โครงสร้างเครือข่ายที่ได้รับแรงบันดาลใจจากแบบจำลองที่เรียบง่ายของเซลล์ประสาททางชีววิทยา (เซลล์สมอง) โครงข่ายประสาทเทียมได้รับการฝึกฝนให้ "เรียนรู้" โดยใช้เทคนิคภายใต้การดูแลและไม่ได้รับการดูแลและสามารถใช้เพื่อแก้ปัญหาการเพิ่มประสิทธิภาพปัญหาการประมาณจำแนกรูปแบบและการผสมผสานดังกล่าว

6
PyTorch - ติดกัน ()
ผมจะผ่านตัวอย่างของรูปแบบภาษา LSTM นี้บน GitHub (ลิงค์) สิ่งที่ทำโดยทั่วไปค่อนข้างชัดเจนสำหรับฉัน แต่ฉันยังคงดิ้นรนเพื่อทำความเข้าใจว่าการโทรcontiguous()ทำอะไรซึ่งเกิดขึ้นหลายครั้งในรหัส ตัวอย่างเช่นในบรรทัด 74/75 ของการป้อนรหัสและลำดับเป้าหมายของ LSTM จะถูกสร้างขึ้น ข้อมูล (เก็บไว้ในids) เป็น 2 มิติโดยที่มิติแรกคือขนาดแบทช์ for i in range(0, ids.size(1) - seq_length, seq_length): # Get batch inputs and targets inputs = Variable(ids[:, i:i+seq_length]) targets = Variable(ids[:, (i+1):(i+1)+seq_length].contiguous()) ตัวอย่างง่ายๆเมื่อใช้ขนาดแบทช์ 1 และseq_length10 inputsและtargetsมีลักษณะดังนี้: inputs Variable containing: 0 1 2 3 …

5
สาเหตุทั่วไปของ nans ในระหว่างการฝึกอบรม
ฉันพบว่าเกิดขึ้นบ่อยในช่วงการฝึกอบรมNANs ได้รับการแนะนำ บ่อยครั้งที่น้ำหนักในผลิตภัณฑ์ด้านใน / ชั้นที่เชื่อมต่อเต็มหรือ Convolution ถูกนำมาใช้ สิ่งนี้เกิดขึ้นเนื่องจากการคำนวณการไล่ระดับสีกำลังระเบิดหรือไม่? หรือเป็นเพราะน้ำหนักเริ่มต้น (ถ้าเป็นเช่นนั้นทำไมการเริ่มต้นน้ำหนักจึงมีผลเช่นนี้) หรือน่าจะเกิดจากลักษณะของข้อมูลเข้าหรือไม่ คำถามที่สรุปคือ: อะไรคือสาเหตุส่วนใหญ่ที่ทำให้ NAN เกิดขึ้นในระหว่างการฝึกอบรม? และประการที่สองมีวิธีใดบ้างในการต่อสู้กับสิ่งนี้ (และทำไมถึงได้ผล)?

9
ทำไมเครือข่ายประสาทคาดการณ์ผิดกับข้อมูลการฝึกอบรมของตัวเอง?
โปรดปรานหมดอายุใน 8 ชั่วโมง คำตอบสำหรับคำถามนี้มีสิทธิ์ได้รับ150 ค่าชื่อเสียง sirjayกำลังมองหาคำตอบจากแหล่งที่เชื่อถือได้ ฉันสร้างเครือข่ายประสาท LSTM (RNN) ด้วยการเรียนรู้แบบมีผู้สอนสำหรับการทำนายสต็อกข้อมูล ปัญหาคือสาเหตุที่มันทำนายผิดกับข้อมูลการฝึกอบรมของตัวเอง? (หมายเหตุ: ตัวอย่างที่ทำซ้ำได้ด้านล่าง) ฉันสร้างแบบจำลองง่าย ๆ เพื่อทำนายราคาหุ้น 5 วันถัดไป: model = Sequential() model.add(LSTM(32, activation='sigmoid', input_shape=(x_train.shape[1], x_train.shape[2]))) model.add(Dense(y_train.shape[1])) model.compile(optimizer='adam', loss='mse') es = EarlyStopping(monitor='val_loss', patience=3, restore_best_weights=True) model.fit(x_train, y_train, batch_size=64, epochs=25, validation_data=(x_test, y_test), callbacks=[es]) ผลลัพธ์ที่ถูกต้องอยู่ในy_test(5 ค่า) ดังนั้นโมเดลรถไฟมองย้อนกลับไป 90 วันก่อนหน้าจากนั้นเรียกคืนน้ำหนักจากval_loss=0.0030ผลลัพธ์ที่ดีที่สุด ( ) ด้วยpatience=3: Train on …

2
เพิ่ม MSE สูงสุดของโมเดล keras
ฉันมีเครือข่ายผู้ให้กำเนิดที่ไม่เห็นด้วยซึ่งผู้ที่เลือกปฏิบัติได้รับการย่อให้เล็กสุดด้วย MSE และเครื่องกำเนิดควรได้รับการขยายให้ใหญ่สุด เพราะทั้งคู่เป็นคู่ต่อสู้ที่ไล่ตามเป้าหมายตรงกันข้าม generator = Sequential() generator.add(Dense(units=50, activation='sigmoid', input_shape=(15,))) generator.add(Dense(units=1, activation='sigmoid')) generator.compile(loss='mse', optimizer='adam') generator.train_on_batch(x_data, y_data) ฉันต้องปรับอะไรเพื่อให้ได้ตัวแบบเครื่องกำเนิดซึ่งกำไรจากค่า MSE สูง?

2
หนึ่งจะมีพารามิเตอร์ในรูปแบบ pytorch ไม่ใบไม้และอยู่ในกราฟการคำนวณได้อย่างไร
ฉันกำลังพยายามที่จะปรับปรุง / เปลี่ยนแปลงพารามิเตอร์ของแบบจำลองโครงข่ายประสาทเทียมแล้วมีการส่งต่อของโครงข่ายประสาทที่ได้รับการปรับปรุงให้อยู่ในกราฟการคำนวณ (ไม่ว่าเราจะทำการเปลี่ยนแปลง / อัปเดตจำนวนเท่าใดก็ตาม) ฉันลองความคิดนี้ แต่เมื่อใดก็ตามที่ฉันทำมัน pytorch จะตั้งค่าเทนเซอร์ที่ปรับปรุงใหม่ของฉัน (ภายในตัวแบบ) เป็นใบไม้ซึ่งจะฆ่าการไล่ระดับสีของการไล่ระดับสีไปยังเครือข่ายที่ฉันต้องการรับการไล่ระดับสี มันฆ่าการไหลของการไล่ระดับสีเนื่องจากโหนดใบไม้ไม่ได้เป็นส่วนหนึ่งของกราฟการคำนวณในแบบที่ฉันต้องการให้มันเป็น (เพราะมันไม่ใช่ใบไม้จริง ๆ ) ฉันลองหลายอย่างแล้วแต่ดูเหมือนว่าจะไม่ทำงาน ฉันสร้างรหัสจำลองที่มีอยู่ในตัวซึ่งพิมพ์การไล่ระดับสีของเครือข่ายที่ฉันต้องการให้มีการไล่ระดับสี: import torch import torch.nn as nn import copy from collections import OrderedDict # img = torch.randn([8,3,32,32]) # targets = torch.LongTensor([1, 2, 0, 6, 2, 9, 4, 9]) # img = torch.randn([1,3,32,32]) # …

3
วัตถุนับได้ แต่ไม่สามารถทำดัชนีได้?
สรุปปัญหาและคำถาม ฉันพยายามดูข้อมูลบางอย่างภายในวัตถุที่สามารถระบุได้ แต่ไม่ได้จัดทำดัชนี ฉันยังใหม่กับงูใหญ่ แต่ฉันไม่เข้าใจว่ามันเป็นไปได้อย่างไร หากคุณสามารถระบุได้ทำไมคุณไม่สามารถเข้าถึงดัชนีผ่านวิธีการแจกแจงแบบเดียวกัน และถ้าไม่มีวิธีเข้าถึงรายการเป็นรายบุคคลหรือไม่? ตัวอย่างจริง import tensorflow_datasets as tfds train_validation_split = tfds.Split.TRAIN.subsplit([6, 4]) (train_data, validation_data), test_data = tfds.load( name="imdb_reviews", split=(train_validation_split, tfds.Split.TEST), as_supervised=True) ใช้ชุดย่อยที่เลือกของชุดข้อมูล foo = train_data.take(5) ฉันสามารถวนซ้ำfooด้วยการแจกแจง: [In] for i, x in enumerate(foo): print(i) ซึ่งสร้างผลลัพธ์ที่คาดหวัง: 0 1 2 3 4 แต่เมื่อฉันพยายามจัดทำดัชนีfoo[0]ฉันจะได้รับข้อผิดพลาดนี้: --------------------------------------------------------------------------- TypeError Traceback (most recent call …

6
Keras ที่ไม่สนับสนุน TensorFlow 2.0 เราแนะนำให้ใช้ `tf.keras` หรือปรับลดรุ่นเป็น TensorFlow 1.14
ฉันมีข้อผิดพลาดเกี่ยวกับ (Keras ที่ไม่สนับสนุน TensorFlow 2.0 เราขอแนะนำให้ใช้tf.kerasหรือปรับลดรุ่นเป็น TensorFlow 1.14) คำแนะนำใด ๆ ขอบคุณ import keras #For building the Neural Network layer by layer from keras.models import Sequential #To randomly initialize the weights to small numbers close to 0(But not 0) from keras.layers import Dense classifier=tf.keras.Sequential() classifier.add(Dense(output_dim = 6, init = 'uniform', activation …

2
การใช้โมดูลสมองของ Gekko ฉันจะกำหนดจำนวนชั้นและประเภทของชั้นที่จะใช้เพื่อแก้ปัญหาการเรียนรู้ลึกได้อย่างไร
ฉันกำลังเรียนรู้ที่จะใช้โมดูลสมองของ Gekko สำหรับการใช้งานการเรียนรู้ลึก ฉันตั้งเครือข่ายประสาทเพื่อเรียนรู้ฟังก์ชั่น numpy.cos () แล้วให้ผลลัพธ์ที่คล้ายกัน ฉันได้รับแบบที่ดีเมื่อขอบเขตในการฝึกอบรมของฉันคือ: x = np.linspace(0,2*np.pi,100) แต่ตัวแบบแตกสลายเมื่อฉันพยายามขยายขอบเขตไปที่: x = np.linspace(0,3*np.pi,100) ฉันต้องเปลี่ยนอะไรในเครือข่ายประสาทของฉันเพื่อเพิ่มความยืดหยุ่นของแบบจำลองของฉันเพื่อให้ทำงานได้กับขอบเขตอื่น ๆ นี่คือรหัสของฉัน: from gekko import brain import numpy as np import matplotlib.pyplot as plt #Set up neural network b = brain.Brain() b.input_layer(1) b.layer(linear=2) b.layer(tanh=2) b.layer(linear=2) b.output_layer(1) #Train neural network x = np.linspace(0,2*np.pi,100) y = …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.