神经网络

Tensorflow实现神经网络的前向传播

痴心易碎 提交于 2020-08-15 05:29:15
我们构想有一个神经网络,输入为两个input,中间有一个hidden layer,这个hiddenlayer当中有三个神经元,最后有一个output。 图例如下: 在实现这个神经网络的前向传播之前,我们先补充一下重要的知识。 一.权重w以及input的初始化 我们初始化权重w的方法为随机生成这些权重,一般可以使用这些随机生成的数据正好在正态分布的曲线上,这也是最符合生成符合自然规律的随机数生成方法: import tensorflow as tf # 一般情况下神经网络上的参数是w的数列,当然我们一般使用随机数来生成这些参数 w=tf.Variable(tf.random_normal([2,3],stddev=2,mean=0,seed=1 )) # 其中stddev表示标准差,mean表示均值,【】表示随机生成正态分布的数值的shape 这样我们的权重就生成了,我们初始化input的方法有有以下几种,伪代码如下: 除了这种方式,我们还可以使用 tf.constant([ 1,2,3 ]),来生成指定数值 tf.zeros([ 2,3 ],int32),用来生成全零 tf.ones([ 2,3 ],int32),同来生成全1 tf.fill([ 3,2],6),生成指定数值 下面我们编写一个仅有一个初始值input的神经网络,并利用tensorflow实现对其进行前向传播

Alink漫谈(十四) :多层感知机 之 总体架构

不问归期 提交于 2020-08-15 02:29:07
Alink漫谈(十四) :多层感知机 之 总体架构 目录 Alink漫谈(十四) :多层感知机 之 总体架构 0x00 摘要 0x01 背景概念 1.1 前馈神经网络 1.2 反向传播 1.3 代价函数 1.4 优化过程 1.4.1 迭代法 1.4.2 梯度下降 1.5 相关公式 1.5.1 加权求和 h 1.5.2 神经元输出值 a 1.5.3 输出层的输出值 y 1.5.4 激活函数g(h) 1.5.5 损失函数E 1.5.6 误差反向传播——更新权重 1.5.7 输出层增量项 δo 1.5.8 更新输出层权重wjk 0x02 示例代码 0x03 训练总体逻辑 3.1 总体逻辑示例图 3.2 L-BFGS训练调用逻辑概述 3.3 获取训练数据 3.4 构建拓扑 3.4.1 AffineLayer 3.4.2 FuntionalLayer 3.4.3 SoftmaxLayerWithCrossEntropyLoss 3.4.3.1 Softmax 3.4.3.2 softmax loss 3.4.3.3 cross entropy 3.4.3.4 SoftmaxLayerWithCrossEntropyLoss 3.5 构建训练器 0xFF 参考 0x00 摘要 Alink 是阿里巴巴基于实时计算引擎 Flink 研发的新一代机器学习算法平台,是业界首个同时支持批式算法

Transformer_Introduce

佐手、 提交于 2020-08-15 01:59:26
1. Embedding After embedding the words in our input sequence, each of them flows through each of the two layers of the encoder. The word in each position flows through its own path in the encoder. There are dependencies between these paths in the self-attention layer. The feed-forward layer does not have those dependencies, however, and thus the various paths can be executed in parallel while flowing through the feed-forward layer. 2. Encode an encoder receives a list of vectors as input. It processes this list by passing these vectors into a ‘self-attention’ layer, then into a feed-forward

cs224u 监督情感分析:稠密特征表示与神经网络(1)

十年热恋 提交于 2020-08-15 00:29:08
cs224u 监督情感分析:稠密特征表示与神经网络(1) __author__ = "Christopher Potts" __version__ = "CS224u, Stanford, Spring 2020" 本文系列篇探索斯坦福情感树库的递归神经网络(RNN)分类器和树结构神经网络(TreeNN)分类器。 •对于RNN,每个词都是建模的,其与其他词的顺序关系也是建模的。 •对于TreeNN,对句子的整个解析结构进行建模。 导入库 from collections import Counter import numpy as np import os import pandas as pd from np_rnn_classifier import RNNClassifier from np_tree_nn import TreeNN from sklearn.linear_model import LogisticRegression from sklearn.metrics import classification_report from torch_rnn_classifier import TorchRNNClassifier from torch_tree_nn import TorchTreeNN import sst import vsm import

斩获全球自动驾驶榜单第一!MIT曝光3D深度学习新成果

时光毁灭记忆、已成空白 提交于 2020-08-14 22:56:06
  “看来新鲜事物还是得有个过程,真不是闹着玩的。”   山东车主祁先生所说的 “新鲜事物”,正是他的爱车——特斯拉 Model S 100D。   据大众报业 · 齐鲁壹点报道,5 月 25 日,山东高速交警接到报警,祁先生的特斯拉轿车,与路面提示牌发生碰撞。   他说当时正在使用自动驾驶辅助模式,面对前方障碍物,车辆并未做出提醒。事后联系售后客服,得到的答复却是:“即使开启自动驾驶(辅助)模式,驾驶员也要全神贯注,不能完全相信该模式。”      图 | 祁先生的特斯拉出现轻微事故   无独有偶,6 月 1 日,台湾一辆特斯拉 Model 3 撞向货车,给本已发生侧翻的货车带来二次事故,两辆车均受到不同程度损伤。      图 | 撞向货车的特斯拉   据当事特斯拉司机黄某回忆称,当时他正在使用自动驾驶辅助功能,时速 110 公里左右,当看到侧翻货车、并进行刹车时,已经无济于事。      图 | 撞向货车后的特斯拉   近年来,车主在使用该功能时,已经引发多起事故。2016 年,美国海军海豹突击队前队员乔舒亚 · 布朗(Joshua Brown)的 Model S,因使用该模式撞上一辆卡车,最终不幸丧生。      图 | 乔舒亚 · 布朗生前照片   让人唏嘘的是,出事之前他曾在 YouTube 发布过自动驾驶如何避免撞车的视频,该视频还被特斯拉 CEO 马斯克转发

哈佛大学《CS50 Python人工智能入门》公开课 (2020)

[亡魂溺海] 提交于 2020-08-14 22:33:06
课程介绍 本课程探讨现代人工智能基础上的概念和算法,深入探讨游戏引擎、手写识别和机器翻译等技术的思想。通过实践项目,学生在将图形搜索算法、分类、优化、强化学习以及其他人工智能和机器学习的主题融入到他们自己的Python程序中,从而获得图形搜索算法、分类、优化和强化学习背后的理论知识。课程结束时,学生将获得机器学习库的经验,以及人工智能原理的知识,使他们能够设计自己的智能系统。 目录 搜索(Search) 知识(Knowledge) 不确定性(Uncertainty) 优化(Optimization) 学习(Learning) 神经网络(Neural Networks) 语言(Language) 观看地址 英文+机翻中文字幕: https://www.bilibili.com/video/BV1FT4y1E7QF 原版地址(PPT+习题): https://cs50.harvard.edu/ai/2020/ PPT课件下载 :关注公众号:机器学习算法与Python实战(ID:tjxj666)后台回复:cs50 来源: oschina 链接: https://my.oschina.net/statistician/blog/4395105

TF2_403 tfrecord文件生成与读取

本秂侑毒 提交于 2020-08-14 22:30:59
@ 目录 1.tfrecord 格式说明 1.1 tf.train.Example生成tfrecord格式 1.2 生成.zip文件 2.tfrecord在具体文件数据中的使用方法(利用TF2_402csv文件,进行tfrecord的读取与生成) 2.1 读取csv文件 2.2 对读取后的数据进行遍历,变成train_Example类型,并进行序列化 2.3 csv文件转换为tfrecord文件 2.4 csv文件转换为tfrecord文件并压缩 2.5 读取tfrecord文件 2.6 读取后的数据集使用神经网络进行训练 1.tfrecord 格式说明 1.1 tf.train.Example生成tfrecord格式 1.tf.train.Features : {"key": tf.train.Feature} tf.train.Feature: tf.train.ByteList / FloatList / Int64List (字符串类型 / 浮点数类型 / 整数类型) 2.利用Features建立Example 对Example序列化,压缩,减小size 3.把Example存入文件中 新建文件夹 使用TFRecordWriter打开文件,写入Example 4.使用tf.data.TFRecordDataset读取tfrecord文件并解析 # tfrecord 文件格式

指尖的超算:MIT脑启发芯片登上Nature子刊

女生的网名这么多〃 提交于 2020-08-14 20:19:32
想要运行人工神经网络,我们还是需要神经形态芯片。 机器之心报道,参与:泽南、小舟、杜伟。 来自麻省理工学院(MIT)的工程师 Hanwool Yeon、Jeehwan Kim 等人设计了一种「片上大脑」,它比指甲盖还小,内含数十万人工突触(忆阻器),其「记忆力」要比我们所知的其他芯片强上不少 。我们距离模拟人脑又近了一步? 这种全新的芯片借鉴了冶金技术的原理,使用银、铜和硅合金制造忆阻器。当芯片在处理视觉任务时,可以「记住」图像并多次复现这些内容。与使用非合金材料制作的忆阻器相比,新版本的记忆更加清晰。 这一研究的论文《Alloying conducting channels for reliable neuromorphic computing》今天已发表在自然杂志子刊《Nature Nanotechnology》上,研究人员展示了一种颇具潜力的新型神经记忆忆阻器设计,其电路以一种模仿大脑神经结构的方式处理信息。更加重要的是,这种脑启发计算方式可以塞进便携设备里,但却能执行今天只有超级计算机才能完成的复杂任务。 「迄今为止,人工突触网络都是以软件形式存在的。我们正在探讨的是构建真正的神经网络硬件,为可穿戴人工智能系统打开道路,」MIT 机械工程助理教授 Jeehwan Kim 说道。「想象一下,把神经形态设备连接到汽车的摄像头上,这套系统就可以识别红绿灯和路上的各种目标

12中主要的Dropout方法:如何应用于DNNs,CNNs,RNNs中的数学和可视化解释

风流意气都作罢 提交于 2020-08-14 20:18:21
作者:Axel Thevenot 编译:ronghuaiyang 原文链接: 12中主要的Dropout方法:如何应用于DNNs,CNNs,RNNs中的数学和可视化解释 ​ mp.weixin.qq.com 深入了解DNNs,CNNs以及RNNs中的Dropout来进行正则化,蒙特卡洛不确定性和模型压缩的方法。 动机 在深度机器学习中训练一个模型的主要挑战之一是协同适应。这意味着神经元是相互依赖的。他们对彼此的影响相当大,相对于他们的输入还不够独立。我们也经常发现一些神经元具有比其他神经元更重要的预测能力的情况。换句话说,我们会过度依赖于个别的神经元的输出。 这些影响必须避免,权重必须具有一定的分布,以防止过拟合。某些神经元的协同适应和高预测能力可以通过不同的正则化方法进行调节。其中最常用的是 Dropout 。然而,dropout方法的全部功能很少被使用。 取决于它是 DNN ,一个 CNN 或一个 RNN ,不同的 dropout方法 可以被应用。在实践中,我们只(或几乎)使用一个。我认为这是一个可怕的陷阱。所以在本文中,我们将从数学和可视化上深入到dropouts的世界中去理解: 标准的Dropout方法 标准Dropout的变体 用在CNNs上的dropout方法 用在RNNs上的dropout方法 其他的dropout应用(蒙特卡洛和压缩) 符号 标准的Dropout

基于Validator排序字段防SQL注入

让人想犯罪 __ 提交于 2020-08-14 20:18:08
一、定义排序基类 public interface BaseSortModel { String getSort(); @ApiModelProperty(hidden = true) default String getSortField() { if (StringUtils.isNotBlank(getSort()) && getSort().contains("-")) { return getSort().split("-")[0]; } return null; } @ApiModelProperty(hidden = true) default String getSortType() { if (StringUtils.isNotBlank(getSort()) && getSort().contains("-")) { return getSort().split("-")[1]; } return null; } } 二、定义校验注解 @Target({ FIELD, PARAMETER}) @Retention(RUNTIME) @Documented @Constraint(validatedBy = {Sort.SortValidator.class}) public @interface Sort { String message() default