美文网首页
神经网络中的意识形态

神经网络中的意识形态

作者: 青漾 | 来源:发表于2019-07-10 15:02 被阅读0次

相对于有特定步骤有明确规律的任务,计算机的运算速度比人类快的多得多(比如数学中各种各样的运算,人要算很久,但计算机算一会就能算出来),但人相对计算机,在处理一些没有明确规则或定义的问题,例如街上走路,识别看到的东西是什么,却比计算机强的多。因此,人工智能最大的强项就是让计算机能处理那些模糊不清,几乎无法用明确的规则或步骤来描述的问题。

为了更好的了解人工智能工作的机理,我们先来试着分析分析人对这种没有规律没有定义问题的分析方式:举个例子,当我们看到一匹绿色的马时,哪怕我们之前从未见过绿色的马。我们仍然能很快的知道这是🐎,这是因为我们的脑子里有关于马的“意识形态”,我们联想一下马,大脑里就会浮现出马的大概样子。同理,人能看出别人写的数字是什么,也是因为我们脑子里有相关数字的意识形态。

一个经过大量数据训练的神经网络,给定领域内的图像表示什么内容,此时它就像一个黑盒子,把数据从一端输入,然后结果自动从另一端输出,你根本不知道他内部的运行机制。如果我们只在乎得到正确的结果,那么无论神经网络的内部机理如何复杂,我们都无需关心。如果我们想知道神经网络是如何学习输入数据,并总结出某种特定规律来,那么我们现在能知道的,就是网络会不断的调整链路上权值。

由于神经网络模拟的是大脑思维方式,人的大脑有意识,那神经网络是否也有自己的”意识“呢?
在我的上篇文章中,已经详细说明了神经网络的工作流程如下:
输入数字图片 -> 在神经网络运算 ->输出 数字
如果我们反其道而行之,给定一个数字,让神经网络把该数字对应的”图片“给画出来,那么我们就可以看看神经网络的意识是怎样的了
数字图片<-神经网络<-数字


我们知道激活函数(Sigmod)函数的表达式如下

sigmod函数

现在把他的反函数求出来:

sigmod反函数

在python中,它对应的代码为scipy.special.logit(),于是利用这个公式,我们用如下代码把结果反解出对应的图片,相应的实现代码如下:

  self.inverse_activation_function = lambda x:scipy.special.logit(x)
  def backQuery(self, targets_list):
     # 将结果向量转置以便反解出输入信号量
    final_outputs = numpy.array(targets_list, ndmin=2).T
    
    # 通过激活函数的反函数得到输出层的输入信号
    final_inputs = self.inverse_activation_function(final_outputs)

    # 获取中间层的输出信号,乘以转置矩阵就相当于逆运算
    hidden_outputs = numpy.dot(self.who.T, final_inputs)
    # 将信号量圆整到0.01和0.98之间
    hidden_outputs -= numpy.min(hidden_outputs)
    hidden_outputs /= numpy.max(hidden_outputs)
    hidden_outputs *= 0.98
    hidden_outputs += 0.01
    
    #通过激活函数的反函数计算中间层获得的输入信号量
    hidden_inputs = self.inverse_activation_function(hidden_outputs)
    
    # 计算输入层的输出信号量
    inputs = numpy.dot(self.wih.T, hidden_inputs)
    # 将信号量圆整到0.01和0.98之间
    inputs -= numpy.min(inputs)
    inputs /= numpy.max(inputs)
    inputs *= 0.98
    inputs += 0.01
    #input对应的就是输入神经网络的图片像素数组
    return inputs

接下来我们结合上面已经训练好的神经网络,看看神经网络关于数字8的形态是怎样的。

label = 8
targets = numpy.zeros(output_nodes) + 0.01
targets[label] = 0.99
print(targets)
image_data = n.backQuery(targets)

matplotlib.pyplot.imshow(image_data.reshape(28,28), cmap="Greys", interpolation="None")
8的意识形态

计算机拿到一张是8的图后,就判断这跟他意识里的8有没有相似之处。然后进行判断。

其实从道家思想去看这个现象,便是:道可道,非常道。理型的概念就是”道可道“中的第一个道,也就是永恒不变的规律,通常情况下,”道“是很难用语言或某种显著方式进行表达的。神经网络通过计算大量的手写数字图片,通过计算抽取出了这些同一类数字图片的共性,这个共性就是我们人脑中和计算机中的“意识形态”

相关文章

  • 神经网络中的意识形态

    相对于有特定步骤有明确规律的任务,计算机的运算速度比人类快的多得多(比如数学中各种各样的运算,人要算很久,但计算机...

  • 神经网络和深度学习笔记(一)

    1.1 什么是神经网络(Neural Network)? 所谓“深度学习”指的是训练神经网络。 一个神经网络中的重...

  • 神经网络(四):应用示例之分类

    一、 传统分类模型的局限 在之前的文章中(《神经网络(一)》、《神经网络(二)》和《神经网络(三)》),我们...

  • Pytorch神经网络基础Torch,Numpy,Variabl

    Torch是可以在神经网络中替代numpy。Torch自称为神经网络中的numpy。 Pytorch与Numpy的...

  • 深度学习概念和基础

    深度学习是以神经网络为基础的,神经网络是机器学习的一种算法。 关于机器学习中的神经网络: 机器学习之神经网络1前向...

  • 二维卷积运算

    卷积神经网络是含有卷积层(convolutional layer)的神经网络。本章中卷积神经网络均使用最常见的二维...

  • 2018-02-21深层神经网络

    深层神经网络 什么是深层神经网络及其标记表示,如图 深层神经网络中的前向传播 类比浅层神经网络的计算,一级一级算过...

  • 神经网络简述

    一、什么是神经网络 机器学习中谈论的神经网络是指“神经网络学习”,或者说,是机器学习和神经网络这两个学科领域的交叉...

  • 神经网络简述

    一、什么是神经网络 机器学习中谈论的神经网络是指“神经网络学习”,或者说,是机器学习和神经网络这两个学科领域的交叉...

  • 《罪与罚》中的心理意识形态

    《罪与罚》是十九世纪,俄国著名作家陀思妥耶夫斯基的代表作之一。他善于描写小人物的心理活动,并且善于揭露他们的灵魂,...

网友评论

      本文标题:神经网络中的意识形态

      本文链接:https://www.haomeiwen.com/subject/njkckctx.html