简 介: 来自于康纳尔大学的这篇研究论文给出了 一个利用物理系统实现深层网络学习和推理的框架。本文对于文章举例的三个系统不属于线性时不变系统进行分析。除了其中SHG系统比较复杂之外,其它两个系统(三极管、扬声器)是如此的简便,吸引人去进行搭建系统,测试一下相应的性能性能。对于参加智能车竞赛的同学来讲,也许将来不再需要借助于复杂高性能单片机来完成神经网络推理,只利用几只三极管便可完成。

关键词PNN神经网络非线性系统

#mermaid-svg-TKj3sEhOGNxLB7Nq .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .label text{fill:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .node rect,#mermaid-svg-TKj3sEhOGNxLB7Nq .node circle,#mermaid-svg-TKj3sEhOGNxLB7Nq .node ellipse,#mermaid-svg-TKj3sEhOGNxLB7Nq .node polygon,#mermaid-svg-TKj3sEhOGNxLB7Nq .node path{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-TKj3sEhOGNxLB7Nq .node .label{text-align:center;fill:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .node.clickable{cursor:pointer}#mermaid-svg-TKj3sEhOGNxLB7Nq .arrowheadPath{fill:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .edgePath .path{stroke:#333;stroke-width:1.5px}#mermaid-svg-TKj3sEhOGNxLB7Nq .flowchart-link{stroke:#333;fill:none}#mermaid-svg-TKj3sEhOGNxLB7Nq .edgeLabel{background-color:#e8e8e8;text-align:center}#mermaid-svg-TKj3sEhOGNxLB7Nq .edgeLabel rect{opacity:0.9}#mermaid-svg-TKj3sEhOGNxLB7Nq .edgeLabel span{color:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .cluster rect{fill:#ffffde;stroke:#aa3;stroke-width:1px}#mermaid-svg-TKj3sEhOGNxLB7Nq .cluster text{fill:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:12px;background:#ffffde;border:1px solid #aa3;border-radius:2px;pointer-events:none;z-index:100}#mermaid-svg-TKj3sEhOGNxLB7Nq .actor{stroke:#ccf;fill:#ECECFF}#mermaid-svg-TKj3sEhOGNxLB7Nq text.actor>tspan{fill:#000;stroke:none}#mermaid-svg-TKj3sEhOGNxLB7Nq .actor-line{stroke:grey}#mermaid-svg-TKj3sEhOGNxLB7Nq .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .messageLine1{stroke-width:1.5;stroke-dasharray:2, 2;stroke:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq #arrowhead path{fill:#333;stroke:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .sequenceNumber{fill:#fff}#mermaid-svg-TKj3sEhOGNxLB7Nq #sequencenumber{fill:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq #crosshead path{fill:#333;stroke:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .messageText{fill:#333;stroke:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .labelBox{stroke:#ccf;fill:#ECECFF}#mermaid-svg-TKj3sEhOGNxLB7Nq .labelText,#mermaid-svg-TKj3sEhOGNxLB7Nq .labelText>tspan{fill:#000;stroke:none}#mermaid-svg-TKj3sEhOGNxLB7Nq .loopText,#mermaid-svg-TKj3sEhOGNxLB7Nq .loopText>tspan{fill:#000;stroke:none}#mermaid-svg-TKj3sEhOGNxLB7Nq .loopLine{stroke-width:2px;stroke-dasharray:2, 2;stroke:#ccf;fill:#ccf}#mermaid-svg-TKj3sEhOGNxLB7Nq .note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-TKj3sEhOGNxLB7Nq .noteText,#mermaid-svg-TKj3sEhOGNxLB7Nq .noteText>tspan{fill:#000;stroke:none}#mermaid-svg-TKj3sEhOGNxLB7Nq .activation0{fill:#f4f4f4;stroke:#666}#mermaid-svg-TKj3sEhOGNxLB7Nq .activation1{fill:#f4f4f4;stroke:#666}#mermaid-svg-TKj3sEhOGNxLB7Nq .activation2{fill:#f4f4f4;stroke:#666}#mermaid-svg-TKj3sEhOGNxLB7Nq .mermaid-main-font{font-family:"trebuchet ms", verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TKj3sEhOGNxLB7Nq .section{stroke:none;opacity:0.2}#mermaid-svg-TKj3sEhOGNxLB7Nq .section0{fill:rgba(102,102,255,0.49)}#mermaid-svg-TKj3sEhOGNxLB7Nq .section2{fill:#fff400}#mermaid-svg-TKj3sEhOGNxLB7Nq .section1,#mermaid-svg-TKj3sEhOGNxLB7Nq .section3{fill:#fff;opacity:0.2}#mermaid-svg-TKj3sEhOGNxLB7Nq .sectionTitle0{fill:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .sectionTitle1{fill:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .sectionTitle2{fill:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .sectionTitle3{fill:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .sectionTitle{text-anchor:start;font-size:11px;text-height:14px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TKj3sEhOGNxLB7Nq .grid .tick{stroke:#d3d3d3;opacity:0.8;shape-rendering:crispEdges}#mermaid-svg-TKj3sEhOGNxLB7Nq .grid .tick text{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TKj3sEhOGNxLB7Nq .grid path{stroke-width:0}#mermaid-svg-TKj3sEhOGNxLB7Nq .today{fill:none;stroke:red;stroke-width:2px}#mermaid-svg-TKj3sEhOGNxLB7Nq .task{stroke-width:2}#mermaid-svg-TKj3sEhOGNxLB7Nq .taskText{text-anchor:middle;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TKj3sEhOGNxLB7Nq .taskText:not([font-size]){font-size:11px}#mermaid-svg-TKj3sEhOGNxLB7Nq .taskTextOutsideRight{fill:#000;text-anchor:start;font-size:11px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TKj3sEhOGNxLB7Nq .taskTextOutsideLeft{fill:#000;text-anchor:end;font-size:11px}#mermaid-svg-TKj3sEhOGNxLB7Nq .task.clickable{cursor:pointer}#mermaid-svg-TKj3sEhOGNxLB7Nq .taskText.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-TKj3sEhOGNxLB7Nq .taskTextOutsideLeft.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-TKj3sEhOGNxLB7Nq .taskTextOutsideRight.clickable{cursor:pointer;fill:#003163 !important;font-weight:bold}#mermaid-svg-TKj3sEhOGNxLB7Nq .taskText0,#mermaid-svg-TKj3sEhOGNxLB7Nq .taskText1,#mermaid-svg-TKj3sEhOGNxLB7Nq .taskText2,#mermaid-svg-TKj3sEhOGNxLB7Nq .taskText3{fill:#fff}#mermaid-svg-TKj3sEhOGNxLB7Nq .task0,#mermaid-svg-TKj3sEhOGNxLB7Nq .task1,#mermaid-svg-TKj3sEhOGNxLB7Nq .task2,#mermaid-svg-TKj3sEhOGNxLB7Nq .task3{fill:#8a90dd;stroke:#534fbc}#mermaid-svg-TKj3sEhOGNxLB7Nq .taskTextOutside0,#mermaid-svg-TKj3sEhOGNxLB7Nq .taskTextOutside2{fill:#000}#mermaid-svg-TKj3sEhOGNxLB7Nq .taskTextOutside1,#mermaid-svg-TKj3sEhOGNxLB7Nq .taskTextOutside3{fill:#000}#mermaid-svg-TKj3sEhOGNxLB7Nq .active0,#mermaid-svg-TKj3sEhOGNxLB7Nq .active1,#mermaid-svg-TKj3sEhOGNxLB7Nq .active2,#mermaid-svg-TKj3sEhOGNxLB7Nq .active3{fill:#bfc7ff;stroke:#534fbc}#mermaid-svg-TKj3sEhOGNxLB7Nq .activeText0,#mermaid-svg-TKj3sEhOGNxLB7Nq .activeText1,#mermaid-svg-TKj3sEhOGNxLB7Nq .activeText2,#mermaid-svg-TKj3sEhOGNxLB7Nq .activeText3{fill:#000 !important}#mermaid-svg-TKj3sEhOGNxLB7Nq .done0,#mermaid-svg-TKj3sEhOGNxLB7Nq .done1,#mermaid-svg-TKj3sEhOGNxLB7Nq .done2,#mermaid-svg-TKj3sEhOGNxLB7Nq .done3{stroke:grey;fill:#d3d3d3;stroke-width:2}#mermaid-svg-TKj3sEhOGNxLB7Nq .doneText0,#mermaid-svg-TKj3sEhOGNxLB7Nq .doneText1,#mermaid-svg-TKj3sEhOGNxLB7Nq .doneText2,#mermaid-svg-TKj3sEhOGNxLB7Nq .doneText3{fill:#000 !important}#mermaid-svg-TKj3sEhOGNxLB7Nq .crit0,#mermaid-svg-TKj3sEhOGNxLB7Nq .crit1,#mermaid-svg-TKj3sEhOGNxLB7Nq .crit2,#mermaid-svg-TKj3sEhOGNxLB7Nq .crit3{stroke:#f88;fill:red;stroke-width:2}#mermaid-svg-TKj3sEhOGNxLB7Nq .activeCrit0,#mermaid-svg-TKj3sEhOGNxLB7Nq .activeCrit1,#mermaid-svg-TKj3sEhOGNxLB7Nq .activeCrit2,#mermaid-svg-TKj3sEhOGNxLB7Nq .activeCrit3{stroke:#f88;fill:#bfc7ff;stroke-width:2}#mermaid-svg-TKj3sEhOGNxLB7Nq .doneCrit0,#mermaid-svg-TKj3sEhOGNxLB7Nq .doneCrit1,#mermaid-svg-TKj3sEhOGNxLB7Nq .doneCrit2,#mermaid-svg-TKj3sEhOGNxLB7Nq .doneCrit3{stroke:#f88;fill:#d3d3d3;stroke-width:2;cursor:pointer;shape-rendering:crispEdges}#mermaid-svg-TKj3sEhOGNxLB7Nq .milestone{transform:rotate(45deg) scale(0.8, 0.8)}#mermaid-svg-TKj3sEhOGNxLB7Nq .milestoneText{font-style:italic}#mermaid-svg-TKj3sEhOGNxLB7Nq .doneCritText0,#mermaid-svg-TKj3sEhOGNxLB7Nq .doneCritText1,#mermaid-svg-TKj3sEhOGNxLB7Nq .doneCritText2,#mermaid-svg-TKj3sEhOGNxLB7Nq .doneCritText3{fill:#000 !important}#mermaid-svg-TKj3sEhOGNxLB7Nq .activeCritText0,#mermaid-svg-TKj3sEhOGNxLB7Nq .activeCritText1,#mermaid-svg-TKj3sEhOGNxLB7Nq .activeCritText2,#mermaid-svg-TKj3sEhOGNxLB7Nq .activeCritText3{fill:#000 !important}#mermaid-svg-TKj3sEhOGNxLB7Nq .titleText{text-anchor:middle;font-size:18px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TKj3sEhOGNxLB7Nq g.classGroup text{fill:#9370db;stroke:none;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);font-size:10px}#mermaid-svg-TKj3sEhOGNxLB7Nq g.classGroup text .title{font-weight:bolder}#mermaid-svg-TKj3sEhOGNxLB7Nq g.clickable{cursor:pointer}#mermaid-svg-TKj3sEhOGNxLB7Nq g.classGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-TKj3sEhOGNxLB7Nq g.classGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-TKj3sEhOGNxLB7Nq .classLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.5}#mermaid-svg-TKj3sEhOGNxLB7Nq .classLabel .label{fill:#9370db;font-size:10px}#mermaid-svg-TKj3sEhOGNxLB7Nq .relation{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-TKj3sEhOGNxLB7Nq .dashed-line{stroke-dasharray:3}#mermaid-svg-TKj3sEhOGNxLB7Nq #compositionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-TKj3sEhOGNxLB7Nq #compositionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-TKj3sEhOGNxLB7Nq #aggregationStart{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-TKj3sEhOGNxLB7Nq #aggregationEnd{fill:#ECECFF;stroke:#9370db;stroke-width:1}#mermaid-svg-TKj3sEhOGNxLB7Nq #dependencyStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-TKj3sEhOGNxLB7Nq #dependencyEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-TKj3sEhOGNxLB7Nq #extensionStart{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-TKj3sEhOGNxLB7Nq #extensionEnd{fill:#9370db;stroke:#9370db;stroke-width:1}#mermaid-svg-TKj3sEhOGNxLB7Nq .commit-id,#mermaid-svg-TKj3sEhOGNxLB7Nq .commit-msg,#mermaid-svg-TKj3sEhOGNxLB7Nq .branch-label{fill:lightgrey;color:lightgrey;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TKj3sEhOGNxLB7Nq .pieTitleText{text-anchor:middle;font-size:25px;fill:#000;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TKj3sEhOGNxLB7Nq .slice{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TKj3sEhOGNxLB7Nq g.stateGroup text{fill:#9370db;stroke:none;font-size:10px;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TKj3sEhOGNxLB7Nq g.stateGroup text{fill:#9370db;fill:#333;stroke:none;font-size:10px}#mermaid-svg-TKj3sEhOGNxLB7Nq g.statediagram-cluster .cluster-label text{fill:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq g.stateGroup .state-title{font-weight:bolder;fill:#000}#mermaid-svg-TKj3sEhOGNxLB7Nq g.stateGroup rect{fill:#ECECFF;stroke:#9370db}#mermaid-svg-TKj3sEhOGNxLB7Nq g.stateGroup line{stroke:#9370db;stroke-width:1}#mermaid-svg-TKj3sEhOGNxLB7Nq .transition{stroke:#9370db;stroke-width:1;fill:none}#mermaid-svg-TKj3sEhOGNxLB7Nq .stateGroup .composit{fill:white;border-bottom:1px}#mermaid-svg-TKj3sEhOGNxLB7Nq .stateGroup .alt-composit{fill:#e0e0e0;border-bottom:1px}#mermaid-svg-TKj3sEhOGNxLB7Nq .state-note{stroke:#aa3;fill:#fff5ad}#mermaid-svg-TKj3sEhOGNxLB7Nq .state-note text{fill:black;stroke:none;font-size:10px}#mermaid-svg-TKj3sEhOGNxLB7Nq .stateLabel .box{stroke:none;stroke-width:0;fill:#ECECFF;opacity:0.7}#mermaid-svg-TKj3sEhOGNxLB7Nq .edgeLabel text{fill:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .stateLabel text{fill:#000;font-size:10px;font-weight:bold;font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family)}#mermaid-svg-TKj3sEhOGNxLB7Nq .node circle.state-start{fill:black;stroke:black}#mermaid-svg-TKj3sEhOGNxLB7Nq .node circle.state-end{fill:black;stroke:white;stroke-width:1.5}#mermaid-svg-TKj3sEhOGNxLB7Nq #statediagram-barbEnd{fill:#9370db}#mermaid-svg-TKj3sEhOGNxLB7Nq .statediagram-cluster rect{fill:#ECECFF;stroke:#9370db;stroke-width:1px}#mermaid-svg-TKj3sEhOGNxLB7Nq .statediagram-cluster rect.outer{rx:5px;ry:5px}#mermaid-svg-TKj3sEhOGNxLB7Nq .statediagram-state .divider{stroke:#9370db}#mermaid-svg-TKj3sEhOGNxLB7Nq .statediagram-state .title-state{rx:5px;ry:5px}#mermaid-svg-TKj3sEhOGNxLB7Nq .statediagram-cluster.statediagram-cluster .inner{fill:white}#mermaid-svg-TKj3sEhOGNxLB7Nq .statediagram-cluster.statediagram-cluster-alt .inner{fill:#e0e0e0}#mermaid-svg-TKj3sEhOGNxLB7Nq .statediagram-cluster .inner{rx:0;ry:0}#mermaid-svg-TKj3sEhOGNxLB7Nq .statediagram-state rect.basic{rx:5px;ry:5px}#mermaid-svg-TKj3sEhOGNxLB7Nq .statediagram-state rect.divider{stroke-dasharray:10,10;fill:#efefef}#mermaid-svg-TKj3sEhOGNxLB7Nq .note-edge{stroke-dasharray:5}#mermaid-svg-TKj3sEhOGNxLB7Nq .statediagram-note rect{fill:#fff5ad;stroke:#aa3;stroke-width:1px;rx:0;ry:0}:root{--mermaid-font-family: '"trebuchet ms", verdana, arial';--mermaid-font-family: "Comic Sans MS", "Comic Sans", cursive}#mermaid-svg-TKj3sEhOGNxLB7Nq .error-icon{fill:#522}#mermaid-svg-TKj3sEhOGNxLB7Nq .error-text{fill:#522;stroke:#522}#mermaid-svg-TKj3sEhOGNxLB7Nq .edge-thickness-normal{stroke-width:2px}#mermaid-svg-TKj3sEhOGNxLB7Nq .edge-thickness-thick{stroke-width:3.5px}#mermaid-svg-TKj3sEhOGNxLB7Nq .edge-pattern-solid{stroke-dasharray:0}#mermaid-svg-TKj3sEhOGNxLB7Nq .edge-pattern-dashed{stroke-dasharray:3}#mermaid-svg-TKj3sEhOGNxLB7Nq .edge-pattern-dotted{stroke-dasharray:2}#mermaid-svg-TKj3sEhOGNxLB7Nq .marker{fill:#333}#mermaid-svg-TKj3sEhOGNxLB7Nq .marker.cross{stroke:#333}:root { --mermaid-font-family: "trebuchet ms", verdana, arial;}#mermaid-svg-TKj3sEhOGNxLB7Nq {color: rgba(0, 0, 0, 0.75);font: ;}

物理神经网络
目 录
Contents
非线性系统
三极管电路
二次谐波产生系统
扬声器
论文总结

§01 物理神经网络


  看到最近在 Nature上发表的一篇文章 Deep Physical Neural Networks Trained with Backpropogation 介绍了利用多层非线性物理系统构建深度学习网络,并通过反向随机梯度下降完成系统训练方法的确令人惊讶毁人三观

  你敢想象利用几只扬声器,或者几只场效应管就可以组成深度物理神经网络(Physical Neural Networks),完成图像分类? 分类效果比起传统的数字神经网络也不逊色。对于MNIST手写体数字识别也可达到97%以上。(见下面基于四通道双谐波信号发生器(SHG)方案)

▲ 图1 分别基于机械系统、电子线路、光学系统构建的P物理神经网络

  这类建构在物理系统而非数字处理器之上的神经网络目标是在推理速度和能效方面超过传统数字计算机,构建智能传感器和高效网络推理。

  猜测大多数人和我一样,第一看到这个文章都会有疑问:这类常见到的扬声器、三极管、光学透镜怎么就能够像深度学习网络那样完成学习训练和推理的呢?特别是这其中都是一些常见到的物理系统,这里面并没有包含什么量子计算机、神经计算机之类结构。

  文章包含的工作很多(原文PDF有60多页),我还没有看完,不过文章一开始把为什么物理神经网络能够实现人工神经网络算法的原理还是讲的比较明白。传统的深度学习可以分解若干网络层的级联计算,每一层的计算包括输入数据(Input)、网络参数(Parameters),它们经过融合后经过神经元非线性传递函数形成网络的输出(Output)。

▲ 图2 人工神经网络(ANN)与物理神经网络(PNN) 之间的联系

  物理神经网络也是分成若干层的级联,比如若干个扬声器,每个扬声器是一层神经网络。输入信号是扬声器的输入电压;网络参数则是一组可以控制的电压信号,比如持续时间,幅值可以改变的信号,它们与输入信号通过(叠加、串联等)合并后送入扬声器,扬声器的输出声音再经过麦克风采集形成网络的输出。

▲ 图1.3 由扬声器组成的一层神经网络结构图

  在由晶体管组成的放大电路、光学倍频器(SHG)组成的系中,对于输入信号,网络参数以及它们的融合方法根据各子系统特点有所不同。

  比如在下图中,网络参数实际上就是一段长度和幅值不同的直流信号,嵌入在输入变化的信号中(A),经过三极管电路之后形成输出(B),输入信号和网络参数融合部分进行展开与归一化(C)形成网络输出信号。

▲ 图3 在三极管电路中输入信号网络参数信号(幅值可控一段直流电平)的串联,以及对应的电路输出信号

  尽管现在对于网络如何进行训练,如何进行工作的细节还有待进一步的了解,但文章所展示关于深度神经网络算法的本质令人耳目一新。利用了系统输入输出之间的非线性吧输入信号与网络信号进行融合完成信息的处理,所以文章所举例的三个系统(扬声器、三极管电路、二次倍频光学系统)都应该不是线性时不变系统。

  下面我们抛开物理神经网络算法,先看看论文中的这三个系统的特点。

§02 非线性系统


  在大学本科阶段所学习的“信号与系统”、“自动控制理论”中所讨论的原理和方法基本上都是针对于线性时不变系统,因此判断一个系统是否是线性时不变是应用这些理论第一步需要做的事情。

  在前面Nature 论文中所提到的三个物理系统(机械、电子、光学)是否都满足线性时不变呢?

2.1 三极管电路

  文章中三极管电路最简单,同样它的非线性也最为明显。

  电路包含有四个元器件:电阻、电感、电容以及场效应三极管。其中电阻、电感、电容都是线性元器件,只有场效应三极管是一个非线性器件。它的漏极饱和电流与栅极电压之间呈现平方关系。所以该电子系统是一个非线性系统。

▲ 图2.1.1 三极管电路

2.2 二次谐波产生系统

  二次谐波产生系统 是一个光学系统,也是文章举例中最复杂的系统。

  对于SHG(Second-Harmonic Generation)光学系统我不是很熟悉,通过 检索相应文献 可以了解到它的基本原理。它利用了 一些特殊的分子物理状态可以将输入光学信号的频率进行倍频,产生对应的二次谐波信号。

▲ 图2.2.1 二次谐波产生系统

  对于这类你不熟悉的物理系统,那么该如何判断它 是否属于线性时不变系统呢?

  在这里我们需要利用线性时不变系统的一个特性:线性时不变系统不会产生新的频率信号

  虽然它可以改变输入信号中不同频率分量的幅度和相位,但不会有新的频率分量产生。SHG光学系统是将输入光谱中所有频率分量都进行倍频,产生了新的倍频分量,因此它不属于线性时不变系统。

  因此,倍频是该系统能够用于完成物理神经系统的关键,一个线性时不变光学系统是无法构建物理神经网络的。

2.3 扬声器

  文章举例的三个系统中,就数扬声器机械振动系统最令人感到扑朔迷离。 系统分为扬声器、音频功放、麦克风组成。其中扬声器需要进行改装。

  他们把动圈式喇叭的振动膜和防尘罩拆除,露出音频线圈,在上面使用胶水粘上一个金属螺钉,并在固定一个3.2cm×3.2cm见方,1mm厚的金属钽制作的金属片。读到此,你会觉得他们这通骚操作属于脱了裤子放屁,故弄玄虚。

▲ 图2.3.1 利用扬声器制作的机械振荡系统

  原以为他们这么改装应该是想在喇叭机械系统中融入非线性环节,但在音圈(Sound Coil)上增加的金属螺钉和钽片好像仅仅是增加了喇叭线圈惯性质量,对于其中高频振荡进行压制,起到一个低频滤波的作用。因此该系统仍然属于一个线性时不变系统。

  下面是论文补充材料中给出的扬声器输入电压信号,麦克风录音信号以及信号降采样的数字信号。可以看到麦克风录制的音频信号的确是对输入信号的低通平滑滤波。

▲ 图2.3.2 扬声器的输入信号、麦克风录音信号以及降采样数字信号

  下图是文章中给出的输入随机信号中嵌入了幅度可控一段直流信号(相当于网络参数),施加在扬声器上之后,麦克风采集到的音频信号。最后一张图上可以看到在不同时刻对应的输出信号与输入信号之间呈现线性关系。

▲ 图2.3.3 输入随机噪声加上可控直流信号片段噪声的输出信号

  那么问题来了:这个系统中的非线性环节到底在哪儿呢

  现在能够想到的就是其中麦克风信号进行降采样可能会改变系统的线性时不变特性,类似于卷积神经网中的 Pooling 层的作用。

※ 论文总结 ※


  来自于康纳尔大学的这篇研究论文给出了 一个利用物理系统实现深层网络学习和推理的框架。本文对于文章举例的三个系统不属于线性时不变系统进行分析。除了其中SHG系统比较复杂之外,其它两个系统(三极管、扬声器)是如此的简便,吸引人去进行搭建系统,测试一下相应的性能性能。

  对于参加智能车竞赛的同学来讲,也许将来不再需要借助于复杂高性能单片机来完成神经网络推理,只利用几只三极管便可完成。


■ 相关文献链接:

  • Deep Physical Neural Networks Trained with Backpropogation
  • 检索相应文献

● 相关图表链接:

  • 图1 分别基于机械系统、电子线路、光学系统构建的P物理神经网络
  • 图2 人工神经网络(ANN)与物理神经网络(PNN) 之间的联系
  • 图1.3 由扬声器组成的一层神经网络结构图
  • 图3 在三极管电路中输入信号网络参数信号(幅值可控一段直流电平)的串联,以及对应的电路输出信号
  • 图2.1.1 三极管电路
  • 图2.2.1 二次谐波产生系统
  • 图2.3.1 利用扬声器制作的机械振荡系统
  • 图2.3.2 扬声器的输入信号、麦克风录音信号以及降采样数字信号
  • 图2.3.3 输入随机噪声加上可控直流信号片段噪声的输出信号

公众号(TSINGHUAZHUOQING)留言

  • Eliauk :没看明白

    • 作者: 这篇文章我也是刚看,其中一些过程还没有了解和测试。本文只是讨论了什么样的系统不满足非线性的热点。
  • (┯_┯)painful world(┯_┯) :很久以前我就想到应该可以用模电实现神经网络,并且可能比数电要好。几个场效应管就可以实现一个加法器、乘法器,两个电阻分压就能实现除法器。并且比数电有更快的速度、更好的并行性。根据“我想到的一定已经有人想到”定律,这样的东西一定已经有人想到了,今天果然就看到了。
    • 作者: 原文中的网络训练还是依靠计算机软件,但网络前向推理使用了非线性物理系统。
  • hey,boy :那,怎么训练呢
  • peter :没有看明白,是把数字图片转成电压脉冲作为输入吗?然后通过训练一组特征信号叠加到输入信号上,使得经过非线性系统得到正交结果吗?
    • 作者: 1. 可能情况没有那么简单;2. 首先这是多层网络;而且中间经过非线性传递函数,所以不是简单的特征信号分解; 3.原文中的确是吧数字图像转换成行扫描电压信号施加在扬声器,或者三极管电路上;然后对其特定一段时间相应进行提取最大值所对应的分类结果;
    • 作者: 现在为止,我还没有进行实验验证,所以具体情况还需要再等两三天测试之后才能够知道。
    • peter :如果这么说,我觉得也是图像数字化直接训练简单点,模拟量量化离散为数字量的初衷就是为了可以数学处理和让计算机认识,现在把本来的数字量转回模拟量处理,且还需要处理器,我觉得没必要!
    • peter :当然,如果可以把信号经过一个量子系统,那么意义就不一样了,意思是如果把图像转成模拟信号再经过量子系统,利用量子纠缠出你要的结果,那么意义就很大!
    • 作者: 遇事不决,量子力学。
    • peter :量子纠缠我觉得就是概率论,跟桌上有一堆贴片电阻用镊子敲桌子产生存在丝印向上电阻的结果一个道理,敲的多了就能得到你要的结果!

如何利用扬声器构建深度学习网络?相关推荐

  1. (六)使用ResNet50迁移学习进行COVID-19诊断:从头开始构建深度学习网络

    目录 安装库并加载数据集 预处理数据 构建深度学习网络 训练网络 评估网络 下一步? 下载源 - 300.4 KB 在本系列文章中,我们将应用深度学习网络ResNet50来诊断胸部X射线图像中的Cov ...

  2. 利用Pytorch中深度学习网络进行多分类预测(multi-class classification)

    从下面的例子可以看出,在 Pytorch 中应用深度学习结构非常容易 执行多类分类任务. 在 iris 数据集的训练表现几乎是完美的. import torch.nn as nn import tor ...

  3. SSRNet:用于大规模点云表面重建的深度学习网络(CVPR2020)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 整理人:袁赣张秦,付前程,张琛,廖新耀 论文: [1] Zhengxin Mi#, Yiming Lu ...

  4. 《自然-机器智能》:神经形态技术可使大型深度学习网络节能16倍

    来源: 学术头条 受生物大脑机制的启发,研究人员一直在提高人工神经网络的性能效率和计算要求.一项新的研究表明,对于大型深度学习网络,神经形态技术的能源效率有望达到其他人工智能系统的 16 倍. 格拉茨 ...

  5. 不用深度学习网络,只需预先设置NAS算法,就能实现AutoML自动机器学习的革命吗?

    AutoML(自动机器学习)是深度学习的新方式,利用大数据分析.高性能计算.数据管理.算法.边缘计算等技术.有了AutoML,我们就不再需要设计复杂的深度学习网络,用于数据采集.数据预处理.优化.应用 ...

  6. 利用python实现深度学习生成对抗样本模型,为任一图片加扰动并恢复原像素的全流程记录

    利用python实现深度学习生成对抗样本,为任一图片加扰动并恢复原像素 一.前言 (一)什么是深度学习 (二)什么是样本模型 (三)什么是对抗样本 1.对抗的目的 2.谁来对抗? 3.对抗的敌人是谁? ...

  7. 经验之谈 | 如何从零开始构建深度学习项目?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 在学习了有关深度学习的理论课程之后,很多人都会有兴趣尝试构建一个属 ...

  8. 如何从零开始构建深度学习项目?这里有一份详细的教程

    点击上方"迈微AI研习社",选择"星标★"公众号 重磅干货,第一时间送达 来源丨机器之心 在学习了有关深度学习的理论课程之后,很多人都会有兴趣尝试构建一个属于自 ...

  9. 搭建深度学习网络识别图片--猫狗大战

    猫狗大战(项目代码:https://github.com/JasonZhou89/kaggle--Dogs-vs.-Cats-Redux-Kernels-Edition) 一. 问题的定义 1.1 项 ...

最新文章

  1. phoenix php,Python实现连接phoenix的实例
  2. java读取properties文件,深度集成!
  3. JQuery Attributes 方法说明
  4. python3.6使用chardet模块总是报错ValueError: Expected a bytes object, not a unicode object
  5. 成绩查询系统源java代码_基于jsp的成绩查询系统-JavaEE实现成绩查询系统 - java项目源码...
  6. Linux的tree
  7. 2011总结与2012展望
  8. Mac电脑硬件温度控制:TG Pro
  9. C#Json数据交互
  10. d3学习day3 --y轴添加文本标签
  11. js获取当前页面的url
  12. 数字信号处理复习总结
  13. tomcat乱码_中文乱码
  14. Android学习笔记-转载SQLite
  15. USACO 2015 January Contest Bronze——奶牛的旅行路线
  16. 人际关系三维理论(转载)
  17. BZOJ 4864: [BeiJing 2017 Wc]神秘物质 解题报告
  18. 408计算机网络重点在哪,2021考研408计算机网络专业基础综合试题特点分析
  19. 在安卓手机内 安装Linux操作系统
  20. mysql的teqcher表结构_Mysql之库表操作(胖胖老师)

热门文章

  1. python_bomb----函数高级特性(生成器)
  2. Elasticsearch学习笔记-04修改数据
  3. 洛谷——3399 丝绸之路(背包)
  4. background 距离右边固定距离
  5. 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(4月7日)...
  6. PHP沉思录-第三篇-Smarty-左轻侯-《程序员》2007年10月号
  7. WP老杨解迷:开发生态两极化和榜单乱象
  8. Java Web Application 自架构 四 Log4j2日志管理
  9. 【Curl (libcurl) 开发 之一】Cocos2dx之libcurl(curl_easy)的编程教程(帮助手册)!...
  10. IT规划的企业应用实践(10)研究的范围和限制