小编Mar*_*jko的帖子

每个神经元的神经网络偏差

我一直在关注Andrew NG在神经网络上的视频。在这些视频中,他没有将偏见与每个神经元联系在一起。取而代之的是,他在计算出每层的激活后在每层的开头添加一个偏差单位,并将该偏差与计算结果一起用于计算下一层的激活(正向传播)。

然而,在机器学习和喜欢视频的一些其他博客这个,还有与每个神经元相关的偏差。这种差异是什么以及为什么产生什么?它的含义是什么?

machine-learning neural-network bias-neuron deep-learning

6
推荐指数
1
解决办法
1383
查看次数

火车损失和火车错误有什么区别?

我的一位教授给了我一个小脚本,用来在每个学习时代之后可视化他的神经网络的演变.这是3个值的图:火车损失,列车错误和测试错误.

前两个有什么区别?

artificial-intelligence machine-learning neural-network conv-neural-network tensorflow

6
推荐指数
2
解决办法
2942
查看次数

具有Keras的LSTM网络中的验证损失和准确性

我运行在Keras中使用imdb数据集的LSTM网络的示例代码.可以在以下链接中找到代码. imdb_lstm.py

我的问题是随着代码的进展,训练损失减少,训练准确度也随着预期的增加而增加,但验证准确度在一个区间内波动,验证损失增加到一个很高的值.我附上下面培训阶段的部分日志.即使我观察到,当训练损失非常小(~0.01-0.03)时,有时它会在下一个时期增加,然后再次减少.我提到的可以在时代75-77中看到.但总的来说它会减少.

我的期望是训练准确性总是增加到0.99-1,训练损失总是减少.此外,验证准确度应该从0.4开始并最终提高到例如0.8.如果验证准确性没有改善,那么在时代期间等待的重点是什么?最后,测试精度接近0.81.

我也尝试了自己的数据并提出了相同的情况.我以类似的方式处理我的数据.我的意思是我的训练,验证和测试点的处理方式与本示例代码中的逻辑相同.

此外,在从LSTM获取每个单词的输出后,我不明白该代码如何表示整个句子.它是否进行均值或最大池化,或者在将其提供给逻辑回归分类器之前是仅采用LSTM层的最后一个输出?

任何帮助,将不胜感激.

Using Theano backend.
Loading data...
25000 train sequences
25000 test sequences
Pad sequences (samples x time)
X_train shape: (25000, 80)
X_test shape: (25000, 80)
Build model...
Train...
Train on 22500 samples, validate on 2500 samples
Epoch 1/100
22500/22500 [==============================] - 236s - loss: 0.5438 - acc: 0.7209 - val_loss: 0.4305 - val_acc: 0.8076
Epoch 2/100
22500/22500 [==============================] - 237s - loss: 0.3843 - acc: 0.8346 - val_loss: 0.3791 - val_acc: 0.8332
Epoch 3/100 …
Run Code Online (Sandbox Code Playgroud)

neural-network deep-learning lstm keras recurrent-neural-network

6
推荐指数
1
解决办法
7697
查看次数

keras:使用ImageDataGenerator和KFold for fit_generator

flow_from_directory(目录):它接收目录但不接受分割训练图像.

sklearn.model_selection.KFold:提供图像的拆分索引.那些可以用在fit()中但不能用在fit_generator()中

任何人如何使用KFold和ImageDataGenerator?它在那里吗?

python machine-learning neural-network scikit-learn keras

6
推荐指数
1
解决办法
997
查看次数

keras预测总是在多分类中输出相同的值

这是我的代码.我想使用Keras进行多分类.训练时vcl_acc更好,但预测值总是相同的值.我很困惑,请帮助我

train.py

# coding: UTF-8
# author: Sun Yongke (sunyongke@gmail.com)
from keras.preprocessing.image import ImageDataGenerator
from keras.callbacks import EarlyStopping
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten
from keras.layers import Convolution2D, MaxPooling2D
from keras.optimizers import SGD


# Dense(64) is a fully-connected layer with 64 hidden units.
# in the first layer, you must specify the expected input data shape:
# here, 20-dimensional vectors.

# dimensions of our images.
img_width, img_height = 300, 300
nb_epoch=20

train_data_dir = '../picture/samples_300_2/train'
validation_data_dir …
Run Code Online (Sandbox Code Playgroud)

python machine-learning neural-network deep-learning keras

6
推荐指数
2
解决办法
4835
查看次数

如何编码序列以在keras中对RNN进行排序?

我正在尝试编写序列以在keras中对RNN进行排序.我使用我从网上理解的内容编写了这个程序.我首先表征然后将文本转换的文本成序列和填充,以形成特征变量X.获得目标变量Y,首先将x向左移动然后填充它.最后,我将我的功能和目标变量提供给了我的LSTM模型.

这是我为此目的用keras编写的代码.

from keras.preprocessing.text import Tokenizer,base_filter
from keras.preprocessing.sequence import pad_sequences
from keras.models import Sequential
from keras.layers import Dense, Activation,Dropout,Embedding
from keras.layers import LSTM


def shift(seq, n):
    n = n % len(seq)
    return seq[n:] + seq[:n]

txt="abcdefghijklmn"*100

tk = Tokenizer(nb_words=2000, filters=base_filter(), lower=True, split=" ")
tk.fit_on_texts(txt)
x = tk.texts_to_sequences(txt)
#shifing to left
y = shift(x,1)

#padding sequence
max_len = 100
max_features=len(tk.word_counts)
X = pad_sequences(x, maxlen=max_len)
Y = pad_sequences(y, maxlen=max_len)

#lstm model
model = Sequential()
model.add(Embedding(max_features, 128, …
Run Code Online (Sandbox Code Playgroud)

python neural-network keras recurrent-neural-network sequence-to-sequence

6
推荐指数
1
解决办法
4788
查看次数

如何使用keras在ROI周围创建边界框

我有关于keras和卷积神经网络的问题:

1.如何使用keras和卷积神经网络创建边界框?

2.如何使用keras vgg16应用程序再培训?

python bounding-box convolution keras

6
推荐指数
0
解决办法
750
查看次数

Keras'fit_generator额外的训练值

train_datagen = ImageDataGenerator(
                    rescale=1./255,
                    shear_range=0.1,
                    zoom_range=0.1,
                    rotation_range=5.,
                    width_shift_range=0.1,
                    height_shift_range=0.1)

val_datagen = ImageDataGenerator(rescale=1./255)

train_generator = train_datagen.flow_from_directory(
                    train_data_dir,
                    target_size = (img_width, img_height),
                    batch_size = 20,
                    shuffle = True,
                    classes = TYPES,
                class_mode = 'categorical')

validation_generator = val_datagen.flow_from_directory(
                    val_data_dir,
                    target_size=(img_width, img_height),
                    batch_size=20,
                    shuffle = True,
                    classes = TYPES,
                    class_mode = 'categorical')

model.fit_generator(
                train_generator,
                samples_per_epoch = 2000,
                nb_epoch = 20
            )

Epoch 14/50
 480/2000 [======>.......................] - ETA: 128s - loss: 0.8708

Epoch 13/50
2021/2000 [==============================] - 171s - loss: 0.7973 - acc: 0.7041 
Run Code Online (Sandbox Code Playgroud)

我的ImageGenerators从文件夹中读取2261次训练和567次测试图像.我试图用2000 …

python python-3.x deep-learning keras tensorflow

6
推荐指数
1
解决办法
472
查看次数

keras模型的平均权重

当我训练几个具有不同初始化的相同架构的模型时,如何在Keras模型中平均权重?

现在我的代码看起来像这样?

datagen = ImageDataGenerator(rotation_range=15,
                             width_shift_range=2.0/28,
                             height_shift_range=2.0/28
                            )

epochs = 40 
lr = (1.234e-3)
optimizer = Adam(lr=lr)

main_input = Input(shape= (28,28,1), name='main_input')

sub_models = []

for i in range(5):

    x = Conv2D(32, kernel_size=(3,3), strides=1)(main_input)
    x = BatchNormalization()(x)
    x = Activation('relu')(x)
    x = MaxPool2D(pool_size=2)(x)

    x = Conv2D(64, kernel_size=(3,3), strides=1)(x)
    x = BatchNormalization()(x)
    x = Activation('relu')(x)
    x = MaxPool2D(pool_size=2)(x)

    x = Conv2D(64, kernel_size=(3,3), strides=1)(x)
    x = BatchNormalization()(x)
    x = Activation('relu')(x)

    x = Flatten()(x)

    x = Dense(1024)(x)
    x = BatchNormalization()(x)
    x = Activation('relu')(x) …
Run Code Online (Sandbox Code Playgroud)

neural-network deep-learning keras tensorflow keras-layer

6
推荐指数
2
解决办法
3339
查看次数

keras中的1d CNN音频

我想尝试实现所附图像的神经网络架构:1DCNN_model

考虑到我有一个数据集X,(N_signals, 1500, 40)其中40是我要对其进行一维卷积的要素数量。我的Y是,(N_signals, 1500, 2)并且我正在与keras。每个1d卷积都需要采用一个特征向量,如下图所示:1DCNN_convolution

因此,它必须获取1500个时间样本中的一个,将其传递到1d卷积层(沿时间轴滑动),然后将所有输出特征馈送到LSTM层。

我试图用这段代码实现第一个卷积部分,但是我不确定它在做什么,我不明白它一次只能占用一个块(也许我之前需要预处理输入数据?):

input_shape = (None, 40)
model_input = Input(input_shape, name = 'input')
layer = model_input
convs = []
for i in range(n_chunks):
    conv = Conv1D(filters = 40,
                  kernel_size = 10,
                  padding = 'valid',
                  activation = 'relu')(layer)
    conv = BatchNormalization(axis = 2)(conv)
    pool = MaxPooling1D(40)(conv)
    pool = Dropout(0.3)(pool)
    convs.append(pool)
out = Merge(mode = 'concat')(convs)

conv_model = Model(input = layer, output = out)
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?非常感谢你

python machine-learning neural-network deep-learning keras

6
推荐指数
1
解决办法
1368
查看次数