人工智能导论:深度学习初体验

唠点什么

最后一次实训了,做完就是成功,嘿嘿嘿

注意:本博客仅供参考!!!

第一关:什么是神经网络

1、全连接网络包含输入层、隐藏层和输出层
A、对
B、错

A

2、层数较多的神经网络为深层神经网络
A、对
B、错

A

3、ReLU(11)=11
A、对
B、错

A

4、下列说法错误的是
A、用深层神经网络实现想要的功能就是深度学习
B、神经网络的灵感来自于人类大脑的神经系统的构成
C、含有1层隐藏层的神经网络称之为深层神经网络

C

第二关:反向传播

1、反向传播主要是为了计算参数对损失函数的梯度?
A、对
B、错

A

2、梯度下降是一种迭代更新的算法?
A、对
B、错

A

3、神经网络的训练过程只有前向传播过程?
A、对
B、错

B

第三关:动手实现CNN识别手写数字

任务描述

本关任务:编写 Python 代码动手搭建 CNN 模型实现手写数字识别。

编程要求

填写 python 代码,在 Begin-End 段中构建出如下结构的卷积神经网络:
·64 个 55 的卷积核组成的卷积层,激活函数为 relu;
·最大池化层,池化核大小为 2
2;
·扁平;
·128 个神经元的全连接层,激活函数为 relu;
·10 个神经元的全连接层,激活函数为 softmax。

测试说明

只需按要求构建模型即可,程序内部会使用你所构建的模型进行训练与预测,当预测准确率高于 95% 时,视为过关。

代码

from keras.models import Sequential
from keras.layers import Conv2D, MaxPool2D, Flatten, Dense
import numpy as np
# 设置随机种子
np.random.seed(1447)

def build_model():
    '''
    在Begin-End段中构建出如下结构的卷积神经网络
    1.64个5*5的卷积核组成的卷积层,激活函数为relu
    2.最大池化层,池化核大小为2*2
    3.扁平
    4.128个神经元的全连接层,激活函数为relu
    5.10个神经元的全连接层,激活函数为softmax
    :return: 构建好的模型
    '''
    model = Sequential()
    model.add(Conv2D(32, (5, 5), activation='relu', input_shape=[28, 28, 1]))
    #********* Begin *********#
    model.add(Conv2D(64, (5, 5), activation='relu'))
    model.add(MaxPool2D(pool_size=(2, 2)))
    model.add(Flatten())
    model.add(Dense(128, activation='relu'))
    model.add(Dense(10, activation='softmax'))
    #********* End *********#
    return model

第四关:动手实现RNN分析影评情感

任务描述

本关任务:编写 Python 代码动手搭建 RNN 模型实现影评情感分析。

编程要求

填写 python 代码,在 Begin-End 段中构建出如下结构的循环神经网络:

·有 30 个神经元的 SimpleRNN 层;
·有 16 个神经元的全连接层,激活函数为 relu;
·有 1 个神经元的全连接层,激活函数为 sigmoid。

测试说明

只需按要求构建模型即可,程序内部会使用你所构建的模型进行训练与预测,当预测准确率高于 70% 时,视为过关。

PS:由于数据较大,执行时间可能比较长,请耐心等待。

代码

from keras.models import Sequential
from keras.layers import Embedding, SimpleRNN, Dense

def build_model():
    '''
    在Begin-End段中构建如下结构的循环神经网络
    1.有30个神经元的SimpleRNN层
    2.有16个神经元的全连接层,激活函数为relu
    3.有1个神经元的全连接层,激活函数为sigmoid
    :return: 构建好的模型
    '''
    model = Sequential()
    model.add(Embedding(1000, 64))
    #********* Begin *********#
    model.add(SimpleRNN(40))
    model.add(Dense(1, activation='sigmoid'))
    #********* End *********#
    return model

おすすめ

転載: blog.csdn.net/qq_45795586/article/details/122198749