slide cocco pesantissime
After Width: | Height: | Size: 49 B |
After Width: | Height: | Size: 9.9 KiB |
|
@ -0,0 +1,23 @@
|
|||
/* The following styles size, place, and layer the slide components.
|
||||
Edit these if you want to change the overall slide layout.
|
||||
The commented lines can be uncommented (and modified, if necessary)
|
||||
to help you with the rearrangement process. */
|
||||
|
||||
/* target = 1024x768 */
|
||||
|
||||
div#header, div#footer, .slide {width: 100%; top: 0; left: 0;}
|
||||
div#header {top: 0; height: 3em; z-index: 1;}
|
||||
div#footer {top: auto; bottom: 0; height: 2.5em; z-index: 5;}
|
||||
.slide {top: 0; width: 92%; padding: 3.5em 4% 4%; z-index: 2; list-style: none;}
|
||||
div#controls {left: 50%; bottom: 0; width: 50%; z-index: 100;}
|
||||
div#controls form {position: absolute; bottom: 0; right: 0; width: 100%;
|
||||
margin: 0;}
|
||||
#currentSlide {position: absolute; width: 10%; left: 45%; bottom: 1em; z-index: 10;}
|
||||
html>body #currentSlide {position: fixed;}
|
||||
|
||||
/*
|
||||
div#header {background: #FCC;}
|
||||
div#footer {background: #CCF;}
|
||||
div#controls {background: #BBD;}
|
||||
div#currentSlide {background: #FFC;}
|
||||
*/
|
|
@ -0,0 +1,42 @@
|
|||
<public:component>
|
||||
<public:attach event="onpropertychange" onevent="doFix()" />
|
||||
|
||||
<script>
|
||||
|
||||
// IE5.5+ PNG Alpha Fix v1.0 by Angus Turnbull http://www.twinhelix.com
|
||||
// Free usage permitted as long as this notice remains intact.
|
||||
|
||||
// This must be a path to a blank image. That's all the configuration you need here.
|
||||
var blankImg = 'ui/default/blank.gif';
|
||||
|
||||
var f = 'DXImageTransform.Microsoft.AlphaImageLoader';
|
||||
|
||||
function filt(s, m) {
|
||||
if (filters[f]) {
|
||||
filters[f].enabled = s ? true : false;
|
||||
if (s) with (filters[f]) { src = s; sizingMethod = m }
|
||||
} else if (s) style.filter = 'progid:'+f+'(src="'+s+'",sizingMethod="'+m+'")';
|
||||
}
|
||||
|
||||
function doFix() {
|
||||
if ((parseFloat(navigator.userAgent.match(/MSIE (\S+)/)[1]) < 5.5) ||
|
||||
(event && !/(background|src)/.test(event.propertyName))) return;
|
||||
|
||||
if (tagName == 'IMG') {
|
||||
if ((/\.png$/i).test(src)) {
|
||||
filt(src, 'image'); // was 'scale'
|
||||
src = blankImg;
|
||||
} else if (src.indexOf(blankImg) < 0) filt();
|
||||
} else if (style.backgroundImage) {
|
||||
if (style.backgroundImage.match(/^url[("']+(.*\.png)[)"']+$/i)) {
|
||||
var s = RegExp.$1;
|
||||
style.backgroundImage = '';
|
||||
filt(s, 'crop');
|
||||
} else filt();
|
||||
}
|
||||
}
|
||||
|
||||
doFix();
|
||||
|
||||
</script>
|
||||
</public:component>
|
|
@ -0,0 +1,7 @@
|
|||
/* DO NOT CHANGE THESE unless you really want to break Opera Show */
|
||||
.slide {
|
||||
visibility: visible !important;
|
||||
position: static !important;
|
||||
page-break-before: always;
|
||||
}
|
||||
#slide0 {page-break-before: avoid;}
|
|
@ -0,0 +1,15 @@
|
|||
/* don't change this unless you want the layout stuff to show up in the outline view! */
|
||||
|
||||
.layout div, #footer *, #controlForm * {display: none;}
|
||||
#footer, #controls, #controlForm, #navLinks, #toggle {
|
||||
display: block; visibility: visible; margin: 0; padding: 0;}
|
||||
#toggle {float: right; padding: 0.5em;}
|
||||
html>body #toggle {position: fixed; top: 0; right: 0;}
|
||||
|
||||
/* making the outline look pretty-ish */
|
||||
|
||||
#slide0 h1, #slide0 h2, #slide0 h3, #slide0 h4 {border: none; margin: 0;}
|
||||
#slide0 h1 {padding-top: 1.5em;}
|
||||
.slide h1 {margin: 1.5em 0 0; padding-top: 0.25em;
|
||||
border-top: 1px solid #888; border-bottom: 1px solid #AAA;}
|
||||
#toggle {border: 1px solid; border-width: 0 0 1px 1px; background: #FFF;}
|
|
@ -0,0 +1,86 @@
|
|||
/* Following are the presentation styles -- edit away! */
|
||||
|
||||
body {background: #FFF url(bodybg.gif) -16px 0 no-repeat; color: #000; font-size: 2em;}
|
||||
:link, :visited {text-decoration: none; color: #00C;}
|
||||
#controls :active {color: #88A !important;}
|
||||
#controls :focus {outline: 1px dotted #227;}
|
||||
h1, h2, h3, h4 {font-size: 100%; margin: 0; padding: 0; font-weight: inherit;}
|
||||
ul, pre {margin: 0; line-height: 1em;}
|
||||
html, body {margin: 0; padding: 0;}
|
||||
|
||||
blockquote, q {font-style: italic;}
|
||||
blockquote {padding: 0 2em 0.5em; margin: 0 1.5em 0.5em; text-align: center; font-size: 1em;}
|
||||
blockquote p {margin: 0;}
|
||||
blockquote i {font-style: normal;}
|
||||
blockquote b {display: block; margin-top: 0.5em; font-weight: normal; font-size: smaller; font-style: normal;}
|
||||
blockquote b i {font-style: italic;}
|
||||
|
||||
kbd {font-weight: bold; font-size: 1em;}
|
||||
sup {font-size: smaller; line-height: 1px;}
|
||||
|
||||
.slide code {padding: 2px 0.25em; font-weight: bold; color: #533;}
|
||||
.slide code.bad, code del {color: red;}
|
||||
.slide code.old {color: silver;}
|
||||
.slide pre {padding: 0; margin: 0.25em 0 0.5em 0.5em; color: #533; font-size: 90%;}
|
||||
.slide pre code {display: block;}
|
||||
.slide ul {margin-left: 5%; margin-right: 7%; list-style: disc;}
|
||||
.slide li {margin-top: 0.75em; margin-right: 0;}
|
||||
.slide ul ul {line-height: 1;}
|
||||
.slide ul ul li {margin: .2em; font-size: 85%; list-style: square;}
|
||||
.slide img.leader {display: block; margin: 0 auto;}
|
||||
|
||||
div#header, div#footer {background: #005; color: #AAB;
|
||||
font-family: Verdana, Helvetica, sans-serif;}
|
||||
div#header {background: #005 url(bodybg.gif) -16px 0 no-repeat;
|
||||
line-height: 1px;}
|
||||
div#footer {font-size: 0.5em; font-weight: bold; padding: 1em 0;}
|
||||
#footer h1, #footer h2 {display: block; padding: 0 1em;}
|
||||
#footer h2 {font-style: italic;}
|
||||
|
||||
div.long {font-size: 0.75em;}
|
||||
.slide h1 {position: absolute; top: 0.7em; left: 87px; z-index: 1;
|
||||
margin: 0; padding: 0.3em 0 0 50px; white-space: nowrap;
|
||||
font: bold 150%/1em Helvetica, sans-serif; text-transform: capitalize;
|
||||
color: #DDE; background: #005;}
|
||||
.slide h3 {font-size: 130%;}
|
||||
h1 abbr {font-variant: small-caps;}
|
||||
|
||||
div#controls {position: absolute; left: 50%; bottom: 0;
|
||||
width: 50%;
|
||||
text-align: right; font: bold 0.9em Verdana, Helvetica, sans-serif;}
|
||||
html>body div#controls {position: fixed; padding: 0 0 1em 0;
|
||||
top: auto;}
|
||||
div#controls form {position: absolute; bottom: 0; right: 0; width: 100%;
|
||||
margin: 0; padding: 0;}
|
||||
#controls #navLinks a {padding: 0; margin: 0 0.5em;
|
||||
background: #005; border: none; color: #779;
|
||||
cursor: pointer;}
|
||||
#controls #navList {height: 1em;}
|
||||
#controls #navList #jumplist {position: absolute; bottom: 0; right: 0; background: #DDD; color: #227;}
|
||||
|
||||
#currentSlide {text-align: center; font-size: 0.5em; color: #449;}
|
||||
|
||||
#slide0 {padding-top: 3.5em; font-size: 90%;}
|
||||
#slide0 h1 {position: static; margin: 1em 0 0; padding: 0;
|
||||
font: bold 2em Helvetica, sans-serif; white-space: normal;
|
||||
color: #000; background: transparent;}
|
||||
#slide0 h2 {font: bold italic 1em Helvetica, sans-serif; margin: 0.25em;}
|
||||
#slide0 h3 {margin-top: 1.5em; font-size: 1.5em;}
|
||||
#slide0 h4 {margin-top: 0; font-size: 1em;}
|
||||
|
||||
ul.urls {list-style: none; display: inline; margin: 0;}
|
||||
.urls li {display: inline; margin: 0;}
|
||||
.note {display: none;}
|
||||
.external {border-bottom: 1px dotted gray;}
|
||||
html>body .external {border-bottom: none;}
|
||||
.external:after {content: " \274F"; font-size: smaller; color: #77B;}
|
||||
|
||||
.incremental, .incremental *, .incremental *:after {color: #DDE; visibility: visible;}
|
||||
img.incremental {visibility: hidden;}
|
||||
.slide .current {color: #B02;}
|
||||
|
||||
|
||||
/* diagnostics
|
||||
|
||||
li:after {content: " [" attr(class) "]"; color: #F88;}
|
||||
*/
|
|
@ -0,0 +1 @@
|
|||
/* The following rule is necessary to have all slides appear in print! DO NOT REMOVE IT! */
.slide, ul {page-break-inside: avoid; visibility: visible !important;}
h1 {page-break-after: avoid;}
body {font-size: 12pt; background: white;}
* {color: black;}
#slide0 h1 {font-size: 200%; border: none; margin: 0.5em 0 0.25em;}
#slide0 h3 {margin: 0; padding: 0;}
#slide0 h4 {margin: 0 0 0.5em; padding: 0;}
#slide0 {margin-bottom: 3em;}
h1 {border-top: 2pt solid gray; border-bottom: 1px dotted silver;}
.extra {background: transparent !important;}
div.extra, pre.extra, .example {font-size: 10pt; color: #333;}
ul.extra a {font-weight: bold;}
p.example {display: none;}
#header {display: none;}
#footer h1 {margin: 0; border-bottom: 1px solid; color: gray; font-style: italic;}
#footer h2, #controls {display: none;}
/* The following rule keeps the layout stuff out of print. Remove at your own risk! */
.layout, .layout * {display: none !important;}
|
|
@ -0,0 +1,9 @@
|
|||
/* Do not edit or override these styles! The system will likely break if you do. */
|
||||
|
||||
div#header, div#footer, div#controls, .slide {position: absolute;}
|
||||
html>body div#header, html>body div#footer,
|
||||
html>body div#controls, html>body .slide {position: fixed;}
|
||||
.handout {display: none;}
|
||||
.layout {display: block;}
|
||||
.slide, .hideme, .incremental {visibility: hidden;}
|
||||
#slide0 {visibility: visible;}
|
|
@ -0,0 +1,3 @@
|
|||
@import url(s5-core.css); /* required to make the slide show run at all */
|
||||
@import url(framing.css); /* sets basic placement and size of slide components */
|
||||
@import url(pretty.css); /* stuff that makes the slides look better than blah */
|
|
@ -0,0 +1,553 @@
|
|||
// S5 v1.1 slides.js -- released into the Public Domain
|
||||
//
|
||||
// Please see http://www.meyerweb.com/eric/tools/s5/credits.html for information
|
||||
// about all the wonderful and talented contributors to this code!
|
||||
|
||||
var undef;
|
||||
var slideCSS = '';
|
||||
var snum = 0;
|
||||
var smax = 1;
|
||||
var incpos = 0;
|
||||
var number = undef;
|
||||
var s5mode = true;
|
||||
var defaultView = 'slideshow';
|
||||
var controlVis = 'visible';
|
||||
|
||||
var isIE = navigator.appName == 'Microsoft Internet Explorer' && navigator.userAgent.indexOf('Opera') < 1 ? 1 : 0;
|
||||
var isOp = navigator.userAgent.indexOf('Opera') > -1 ? 1 : 0;
|
||||
var isGe = navigator.userAgent.indexOf('Gecko') > -1 && navigator.userAgent.indexOf('Safari') < 1 ? 1 : 0;
|
||||
|
||||
function hasClass(object, className) {
|
||||
if (!object.className) return false;
|
||||
return (object.className.search('(^|\\s)' + className + '(\\s|$)') != -1);
|
||||
}
|
||||
|
||||
function hasValue(object, value) {
|
||||
if (!object) return false;
|
||||
return (object.search('(^|\\s)' + value + '(\\s|$)') != -1);
|
||||
}
|
||||
|
||||
function removeClass(object,className) {
|
||||
if (!object) return;
|
||||
object.className = object.className.replace(new RegExp('(^|\\s)'+className+'(\\s|$)'), RegExp.$1+RegExp.$2);
|
||||
}
|
||||
|
||||
function addClass(object,className) {
|
||||
if (!object || hasClass(object, className)) return;
|
||||
if (object.className) {
|
||||
object.className += ' '+className;
|
||||
} else {
|
||||
object.className = className;
|
||||
}
|
||||
}
|
||||
|
||||
function GetElementsWithClassName(elementName,className) {
|
||||
var allElements = document.getElementsByTagName(elementName);
|
||||
var elemColl = new Array();
|
||||
for (var i = 0; i< allElements.length; i++) {
|
||||
if (hasClass(allElements[i], className)) {
|
||||
elemColl[elemColl.length] = allElements[i];
|
||||
}
|
||||
}
|
||||
return elemColl;
|
||||
}
|
||||
|
||||
function isParentOrSelf(element, id) {
|
||||
if (element == null || element.nodeName=='BODY') return false;
|
||||
else if (element.id == id) return true;
|
||||
else return isParentOrSelf(element.parentNode, id);
|
||||
}
|
||||
|
||||
function nodeValue(node) {
|
||||
var result = "";
|
||||
if (node.nodeType == 1) {
|
||||
var children = node.childNodes;
|
||||
for (var i = 0; i < children.length; ++i) {
|
||||
result += nodeValue(children[i]);
|
||||
}
|
||||
}
|
||||
else if (node.nodeType == 3) {
|
||||
result = node.nodeValue;
|
||||
}
|
||||
return(result);
|
||||
}
|
||||
|
||||
function slideLabel() {
|
||||
var slideColl = GetElementsWithClassName('*','slide');
|
||||
var list = document.getElementById('jumplist');
|
||||
smax = slideColl.length;
|
||||
for (var n = 0; n < smax; n++) {
|
||||
var obj = slideColl[n];
|
||||
|
||||
var did = 'slide' + n.toString();
|
||||
obj.setAttribute('id',did);
|
||||
if (isOp) continue;
|
||||
|
||||
var otext = '';
|
||||
var menu = obj.firstChild;
|
||||
if (!menu) continue; // to cope with empty slides
|
||||
while (menu && menu.nodeType == 3) {
|
||||
menu = menu.nextSibling;
|
||||
}
|
||||
if (!menu) continue; // to cope with slides with only text nodes
|
||||
|
||||
var menunodes = menu.childNodes;
|
||||
for (var o = 0; o < menunodes.length; o++) {
|
||||
otext += nodeValue(menunodes[o]);
|
||||
}
|
||||
list.options[list.length] = new Option(n + ' : ' + otext, n);
|
||||
}
|
||||
}
|
||||
|
||||
function currentSlide() {
|
||||
var cs;
|
||||
if (document.getElementById) {
|
||||
cs = document.getElementById('currentSlide');
|
||||
} else {
|
||||
cs = document.currentSlide;
|
||||
}
|
||||
cs.innerHTML = '<span id="csHere">' + snum + '<\/span> ' +
|
||||
'<span id="csSep">\/<\/span> ' +
|
||||
'<span id="csTotal">' + (smax-1) + '<\/span>';
|
||||
if (snum == 0) {
|
||||
cs.style.visibility = 'hidden';
|
||||
} else {
|
||||
cs.style.visibility = 'visible';
|
||||
}
|
||||
}
|
||||
|
||||
function go(step) {
|
||||
if (document.getElementById('slideProj').disabled || step == 0) return;
|
||||
var jl = document.getElementById('jumplist');
|
||||
var cid = 'slide' + snum;
|
||||
var ce = document.getElementById(cid);
|
||||
if (incrementals[snum].length > 0) {
|
||||
for (var i = 0; i < incrementals[snum].length; i++) {
|
||||
removeClass(incrementals[snum][i], 'current');
|
||||
removeClass(incrementals[snum][i], 'incremental');
|
||||
}
|
||||
}
|
||||
if (step != 'j') {
|
||||
snum += step;
|
||||
lmax = smax - 1;
|
||||
if (snum > lmax) snum = lmax;
|
||||
if (snum < 0) snum = 0;
|
||||
} else
|
||||
snum = parseInt(jl.value);
|
||||
var nid = 'slide' + snum;
|
||||
var ne = document.getElementById(nid);
|
||||
if (!ne) {
|
||||
ne = document.getElementById('slide0');
|
||||
snum = 0;
|
||||
}
|
||||
if (step < 0) {incpos = incrementals[snum].length} else {incpos = 0;}
|
||||
if (incrementals[snum].length > 0 && incpos == 0) {
|
||||
for (var i = 0; i < incrementals[snum].length; i++) {
|
||||
if (hasClass(incrementals[snum][i], 'current'))
|
||||
incpos = i + 1;
|
||||
else
|
||||
addClass(incrementals[snum][i], 'incremental');
|
||||
}
|
||||
}
|
||||
if (incrementals[snum].length > 0 && incpos > 0)
|
||||
addClass(incrementals[snum][incpos - 1], 'current');
|
||||
ce.style.visibility = 'hidden';
|
||||
ne.style.visibility = 'visible';
|
||||
jl.selectedIndex = snum;
|
||||
currentSlide();
|
||||
number = 0;
|
||||
}
|
||||
|
||||
function goTo(target) {
|
||||
if (target >= smax || target == snum) return;
|
||||
go(target - snum);
|
||||
}
|
||||
|
||||
function subgo(step) {
|
||||
if (step > 0) {
|
||||
removeClass(incrementals[snum][incpos - 1],'current');
|
||||
removeClass(incrementals[snum][incpos], 'incremental');
|
||||
addClass(incrementals[snum][incpos],'current');
|
||||
incpos++;
|
||||
} else {
|
||||
incpos--;
|
||||
removeClass(incrementals[snum][incpos],'current');
|
||||
addClass(incrementals[snum][incpos], 'incremental');
|
||||
addClass(incrementals[snum][incpos - 1],'current');
|
||||
}
|
||||
}
|
||||
|
||||
function toggle() {
|
||||
var slideColl = GetElementsWithClassName('*','slide');
|
||||
var slides = document.getElementById('slideProj');
|
||||
var outline = document.getElementById('outlineStyle');
|
||||
if (!slides.disabled) {
|
||||
slides.disabled = true;
|
||||
outline.disabled = false;
|
||||
s5mode = false;
|
||||
fontSize('1em');
|
||||
for (var n = 0; n < smax; n++) {
|
||||
var slide = slideColl[n];
|
||||
slide.style.visibility = 'visible';
|
||||
}
|
||||
} else {
|
||||
slides.disabled = false;
|
||||
outline.disabled = true;
|
||||
s5mode = true;
|
||||
fontScale();
|
||||
for (var n = 0; n < smax; n++) {
|
||||
var slide = slideColl[n];
|
||||
slide.style.visibility = 'hidden';
|
||||
}
|
||||
slideColl[snum].style.visibility = 'visible';
|
||||
}
|
||||
}
|
||||
|
||||
function showHide(action) {
|
||||
var obj = GetElementsWithClassName('*','hideme')[0];
|
||||
switch (action) {
|
||||
case 's': obj.style.visibility = 'visible'; break;
|
||||
case 'h': obj.style.visibility = 'hidden'; break;
|
||||
case 'k':
|
||||
if (obj.style.visibility != 'visible') {
|
||||
obj.style.visibility = 'visible';
|
||||
} else {
|
||||
obj.style.visibility = 'hidden';
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
// 'keys' code adapted from MozPoint (http://mozpoint.mozdev.org/)
|
||||
function keys(key) {
|
||||
if (!key) {
|
||||
key = event;
|
||||
key.which = key.keyCode;
|
||||
}
|
||||
if (key.which == 84) {
|
||||
toggle();
|
||||
return;
|
||||
}
|
||||
if (s5mode) {
|
||||
switch (key.which) {
|
||||
case 10: // return
|
||||
case 13: // enter
|
||||
if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return;
|
||||
if (key.target && isParentOrSelf(key.target, 'controls')) return;
|
||||
if(number != undef) {
|
||||
goTo(number);
|
||||
break;
|
||||
}
|
||||
case 32: // spacebar
|
||||
case 34: // page down
|
||||
case 39: // rightkey
|
||||
case 40: // downkey
|
||||
if(number != undef) {
|
||||
go(number);
|
||||
} else if (!incrementals[snum] || incpos >= incrementals[snum].length) {
|
||||
go(1);
|
||||
} else {
|
||||
subgo(1);
|
||||
}
|
||||
break;
|
||||
case 33: // page up
|
||||
case 37: // leftkey
|
||||
case 38: // upkey
|
||||
if(number != undef) {
|
||||
go(-1 * number);
|
||||
} else if (!incrementals[snum] || incpos <= 0) {
|
||||
go(-1);
|
||||
} else {
|
||||
subgo(-1);
|
||||
}
|
||||
break;
|
||||
case 36: // home
|
||||
goTo(0);
|
||||
break;
|
||||
case 35: // end
|
||||
goTo(smax-1);
|
||||
break;
|
||||
case 67: // c
|
||||
showHide('k');
|
||||
break;
|
||||
}
|
||||
if (key.which < 48 || key.which > 57) {
|
||||
number = undef;
|
||||
} else {
|
||||
if (window.event && isParentOrSelf(window.event.srcElement, 'controls')) return;
|
||||
if (key.target && isParentOrSelf(key.target, 'controls')) return;
|
||||
number = (((number != undef) ? number : 0) * 10) + (key.which - 48);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function clicker(e) {
|
||||
number = undef;
|
||||
var target;
|
||||
if (window.event) {
|
||||
target = window.event.srcElement;
|
||||
e = window.event;
|
||||
} else target = e.target;
|
||||
if (target.getAttribute('href') != null || hasValue(target.rel, 'external') || isParentOrSelf(target, 'controls') || isParentOrSelf(target,'embed') || isParentOrSelf(target,'object')) return true;
|
||||
if (!e.which || e.which == 1) {
|
||||
if (!incrementals[snum] || incpos >= incrementals[snum].length) {
|
||||
go(1);
|
||||
} else {
|
||||
subgo(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function findSlide(hash) {
|
||||
var target = null;
|
||||
var slides = GetElementsWithClassName('*','slide');
|
||||
for (var i = 0; i < slides.length; i++) {
|
||||
var targetSlide = slides[i];
|
||||
if ( (targetSlide.name && targetSlide.name == hash)
|
||||
|| (targetSlide.id && targetSlide.id == hash) ) {
|
||||
target = targetSlide;
|
||||
break;
|
||||
}
|
||||
}
|
||||
while(target != null && target.nodeName != 'BODY') {
|
||||
if (hasClass(target, 'slide')) {
|
||||
return parseInt(target.id.slice(5));
|
||||
}
|
||||
target = target.parentNode;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
function slideJump() {
|
||||
if (window.location.hash == null) return;
|
||||
var sregex = /^#slide(\d+)$/;
|
||||
var matches = sregex.exec(window.location.hash);
|
||||
var dest = null;
|
||||
if (matches != null) {
|
||||
dest = parseInt(matches[1]);
|
||||
} else {
|
||||
dest = findSlide(window.location.hash.slice(1));
|
||||
}
|
||||
if (dest != null)
|
||||
go(dest - snum);
|
||||
}
|
||||
|
||||
function fixLinks() {
|
||||
var thisUri = window.location.href;
|
||||
thisUri = thisUri.slice(0, thisUri.length - window.location.hash.length);
|
||||
var aelements = document.getElementsByTagName('A');
|
||||
for (var i = 0; i < aelements.length; i++) {
|
||||
var a = aelements[i].href;
|
||||
var slideID = a.match('\#slide[0-9]{1,2}');
|
||||
if ((slideID) && (slideID[0].slice(0,1) == '#')) {
|
||||
var dest = findSlide(slideID[0].slice(1));
|
||||
if (dest != null) {
|
||||
if (aelements[i].addEventListener) {
|
||||
aelements[i].addEventListener("click", new Function("e",
|
||||
"if (document.getElementById('slideProj').disabled) return;" +
|
||||
"go("+dest+" - snum); " +
|
||||
"if (e.preventDefault) e.preventDefault();"), true);
|
||||
} else if (aelements[i].attachEvent) {
|
||||
aelements[i].attachEvent("onclick", new Function("",
|
||||
"if (document.getElementById('slideProj').disabled) return;" +
|
||||
"go("+dest+" - snum); " +
|
||||
"event.returnValue = false;"));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function externalLinks() {
|
||||
if (!document.getElementsByTagName) return;
|
||||
var anchors = document.getElementsByTagName('a');
|
||||
for (var i=0; i<anchors.length; i++) {
|
||||
var anchor = anchors[i];
|
||||
if (anchor.getAttribute('href') && hasValue(anchor.rel, 'external')) {
|
||||
anchor.target = '_blank';
|
||||
addClass(anchor,'external');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function createControls() {
|
||||
var controlsDiv = document.getElementById("controls");
|
||||
if (!controlsDiv) return;
|
||||
var hider = ' onmouseover="showHide(\'s\');" onmouseout="showHide(\'h\');"';
|
||||
var hideDiv, hideList = '';
|
||||
if (controlVis == 'hidden') {
|
||||
hideDiv = hider;
|
||||
} else {
|
||||
hideList = hider;
|
||||
}
|
||||
controlsDiv.innerHTML = '<form action="#" id="controlForm"' + hideDiv + '>' +
|
||||
'<div id="navLinks">' +
|
||||
'<a accesskey="t" id="toggle" href="javascript:toggle();">Ø<\/a>' +
|
||||
'<a accesskey="z" id="prev" href="javascript:go(-1);">«<\/a>' +
|
||||
'<a accesskey="x" id="next" href="javascript:go(1);">»<\/a>' +
|
||||
'<div id="navList"' + hideList + '><select id="jumplist" onchange="go(\'j\');"><\/select><\/div>' +
|
||||
'<\/div><\/form>';
|
||||
if (controlVis == 'hidden') {
|
||||
var hidden = document.getElementById('navLinks');
|
||||
} else {
|
||||
var hidden = document.getElementById('jumplist');
|
||||
}
|
||||
addClass(hidden,'hideme');
|
||||
}
|
||||
|
||||
function fontScale() { // causes layout problems in FireFox that get fixed if browser's Reload is used; same may be true of other Gecko-based browsers
|
||||
if (!s5mode) return false;
|
||||
var vScale = 22; // both yield 32 (after rounding) at 1024x768
|
||||
var hScale = 32; // perhaps should auto-calculate based on theme's declared value?
|
||||
if (window.innerHeight) {
|
||||
var vSize = window.innerHeight;
|
||||
var hSize = window.innerWidth;
|
||||
} else if (document.documentElement.clientHeight) {
|
||||
var vSize = document.documentElement.clientHeight;
|
||||
var hSize = document.documentElement.clientWidth;
|
||||
} else if (document.body.clientHeight) {
|
||||
var vSize = document.body.clientHeight;
|
||||
var hSize = document.body.clientWidth;
|
||||
} else {
|
||||
var vSize = 700; // assuming 1024x768, minus chrome and such
|
||||
var hSize = 1024; // these do not account for kiosk mode or Opera Show
|
||||
}
|
||||
var newSize = Math.min(Math.round(vSize/vScale),Math.round(hSize/hScale));
|
||||
fontSize(newSize + 'px');
|
||||
if (isGe) { // hack to counter incremental reflow bugs
|
||||
var obj = document.getElementsByTagName('body')[0];
|
||||
obj.style.display = 'none';
|
||||
obj.style.display = 'block';
|
||||
}
|
||||
}
|
||||
|
||||
function fontSize(value) {
|
||||
if (!(s5ss = document.getElementById('s5ss'))) {
|
||||
if (!isIE) {
|
||||
document.getElementsByTagName('head')[0].appendChild(s5ss = document.createElement('style'));
|
||||
s5ss.setAttribute('media','screen, projection');
|
||||
s5ss.setAttribute('id','s5ss');
|
||||
} else {
|
||||
document.createStyleSheet();
|
||||
document.s5ss = document.styleSheets[document.styleSheets.length - 1];
|
||||
}
|
||||
}
|
||||
if (!isIE) {
|
||||
while (s5ss.lastChild) s5ss.removeChild(s5ss.lastChild);
|
||||
s5ss.appendChild(document.createTextNode('body {font-size: ' + value + ' !important;}'));
|
||||
} else {
|
||||
document.s5ss.addRule('body','font-size: ' + value + ' !important;');
|
||||
}
|
||||
}
|
||||
|
||||
function notOperaFix() {
|
||||
slideCSS = document.getElementById('slideProj').href;
|
||||
var slides = document.getElementById('slideProj');
|
||||
var outline = document.getElementById('outlineStyle');
|
||||
slides.setAttribute('media','screen');
|
||||
outline.disabled = true;
|
||||
if (isGe) {
|
||||
slides.setAttribute('href','null'); // Gecko fix
|
||||
slides.setAttribute('href',slideCSS); // Gecko fix
|
||||
}
|
||||
if (isIE && document.styleSheets && document.styleSheets[0]) {
|
||||
document.styleSheets[0].addRule('img', 'behavior: url(ui/default/iepngfix.htc)');
|
||||
document.styleSheets[0].addRule('div', 'behavior: url(ui/default/iepngfix.htc)');
|
||||
document.styleSheets[0].addRule('.slide', 'behavior: url(ui/default/iepngfix.htc)');
|
||||
}
|
||||
}
|
||||
|
||||
function getIncrementals(obj) {
|
||||
var incrementals = new Array();
|
||||
if (!obj)
|
||||
return incrementals;
|
||||
var children = obj.childNodes;
|
||||
for (var i = 0; i < children.length; i++) {
|
||||
var child = children[i];
|
||||
if (hasClass(child, 'incremental')) {
|
||||
if (child.nodeName == 'OL' || child.nodeName == 'UL') {
|
||||
removeClass(child, 'incremental');
|
||||
for (var j = 0; j < child.childNodes.length; j++) {
|
||||
if (child.childNodes[j].nodeType == 1) {
|
||||
addClass(child.childNodes[j], 'incremental');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
incrementals[incrementals.length] = child;
|
||||
removeClass(child,'incremental');
|
||||
}
|
||||
}
|
||||
if (hasClass(child, 'show-first')) {
|
||||
if (child.nodeName == 'OL' || child.nodeName == 'UL') {
|
||||
removeClass(child, 'show-first');
|
||||
if (child.childNodes[isGe].nodeType == 1) {
|
||||
removeClass(child.childNodes[isGe], 'incremental');
|
||||
}
|
||||
} else {
|
||||
incrementals[incrementals.length] = child;
|
||||
}
|
||||
}
|
||||
incrementals = incrementals.concat(getIncrementals(child));
|
||||
}
|
||||
return incrementals;
|
||||
}
|
||||
|
||||
function createIncrementals() {
|
||||
var incrementals = new Array();
|
||||
for (var i = 0; i < smax; i++) {
|
||||
incrementals[i] = getIncrementals(document.getElementById('slide'+i));
|
||||
}
|
||||
return incrementals;
|
||||
}
|
||||
|
||||
function defaultCheck() {
|
||||
var allMetas = document.getElementsByTagName('meta');
|
||||
for (var i = 0; i< allMetas.length; i++) {
|
||||
if (allMetas[i].name == 'defaultView') {
|
||||
defaultView = allMetas[i].content;
|
||||
}
|
||||
if (allMetas[i].name == 'controlVis') {
|
||||
controlVis = allMetas[i].content;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Key trap fix, new function body for trap()
|
||||
function trap(e) {
|
||||
if (!e) {
|
||||
e = event;
|
||||
e.which = e.keyCode;
|
||||
}
|
||||
try {
|
||||
modifierKey = e.ctrlKey || e.altKey || e.metaKey;
|
||||
}
|
||||
catch(e) {
|
||||
modifierKey = false;
|
||||
}
|
||||
return modifierKey || e.which == 0;
|
||||
}
|
||||
|
||||
function startup() {
|
||||
defaultCheck();
|
||||
if (!isOp)
|
||||
createControls();
|
||||
slideLabel();
|
||||
fixLinks();
|
||||
externalLinks();
|
||||
fontScale();
|
||||
if (!isOp) {
|
||||
notOperaFix();
|
||||
incrementals = createIncrementals();
|
||||
slideJump();
|
||||
if (defaultView == 'outline') {
|
||||
toggle();
|
||||
}
|
||||
document.onkeyup = keys;
|
||||
document.onkeypress = trap;
|
||||
document.onclick = clicker;
|
||||
}
|
||||
}
|
||||
|
||||
window.onload = startup;
|
||||
window.onresize = function(){setTimeout('fontScale()', 50);}
|
BIN
talks/spiking-neural/res/Spiking_HM_files/equation.png
Normal file
After Width: | Height: | Size: 487 B |
1
talks/spiking-neural/res/Spiking_HM_files/equation.tex
Normal file
|
@ -0,0 +1 @@
|
|||
{\displaystyle \Delta w_{i}=\eta x_{i}y}
|
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image.png
Normal file
After Width: | Height: | Size: 1.1 MiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image001.png
Normal file
After Width: | Height: | Size: 28 KiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image002.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image003.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image004.png
Normal file
After Width: | Height: | Size: 81 KiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image005.png
Normal file
After Width: | Height: | Size: 286 KiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image006.png
Normal file
After Width: | Height: | Size: 851 KiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image007.png
Normal file
After Width: | Height: | Size: 493 KiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image008.png
Normal file
After Width: | Height: | Size: 160 KiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image009.png
Normal file
After Width: | Height: | Size: 1,009 B |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image010.png
Normal file
After Width: | Height: | Size: 1,009 B |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image011.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image012.png
Normal file
After Width: | Height: | Size: 844 KiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image013.png
Normal file
After Width: | Height: | Size: 334 KiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image014.png
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image015.png
Normal file
After Width: | Height: | Size: 1.5 MiB |
BIN
talks/spiking-neural/res/Spiking_HM_files/pasted_image016.png
Normal file
After Width: | Height: | Size: 488 KiB |
381
talks/spiking-neural/res/index.html
Normal file
|
@ -0,0 +1,381 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Spiking HM</title>
|
||||
<!-- metadata -->
|
||||
<meta name="generator" content="Zim 0.70" />
|
||||
<meta name="version" content="S5 1.1" />
|
||||
<meta name="presdate" content="" />
|
||||
<meta name="author" content="" />
|
||||
<meta name="company" content="" />
|
||||
<!-- configuration parameters -->
|
||||
<meta name="defaultView" content="slideshow" />
|
||||
<meta name="controlVis" content="hidden" />
|
||||
<!-- style sheet links -->
|
||||
<link rel="stylesheet" href="./Spiking_HM_files/_resources/ui/default/slides.css" type="text/css" media="projection" id="slideProj" />
|
||||
<link rel="stylesheet" href="./Spiking_HM_files/_resources/ui/default/outline.css" type="text/css" media="screen" id="outlineStyle" />
|
||||
<link rel="stylesheet" href="./Spiking_HM_files/_resources/ui/default/print.css" type="text/css" media="print" id="slidePrint" />
|
||||
<link rel="stylesheet" href="./Spiking_HM_files/_resources/ui/default/opera.css" type="text/css" media="projection" id="operaFix" />
|
||||
<!-- S5 JS -->
|
||||
<script src="./Spiking_HM_files/_resources/ui/default/slides.js" type="text/javascript"></script>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div class="layout">
|
||||
<div id="controls"><!-- DO NOT EDIT --></div>
|
||||
<div id="currentSlide"><!-- DO NOT EDIT --></div>
|
||||
<div id="header"></div>
|
||||
<div id="footer">
|
||||
<!--
|
||||
<h1>[location/date of presentation]</h1>
|
||||
<h2>[slide show title here]</h2>
|
||||
-->
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="presentation">
|
||||
|
||||
<div class="slide">
|
||||
<h1>Spiking HM</h1>
|
||||
|
||||
<p>
|
||||
Created Thursday 30 May 2019<br>
|
||||
<img src="./Spiking_HM_files/pasted_image012.png" width="500">
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Neuromorphic computation</h1>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>Neuroni, se li conosci li eviti</li>
|
||||
<li>Algoritmi per Reti Neurali Impennanti</li>
|
||||
<li>Tre chips</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Neuroni</h1>
|
||||
|
||||
<p>
|
||||
<img src="./Spiking_HM_files/pasted_image007.png" width="700"><br>
|
||||
<a href="http://jackterwilliger.com/biological-neural-networks-part-i-spiking-neurons/" title="http://jackterwilliger.com/biological-neural-networks-part-i-spiking-neurons/" class="http">http://jackterwilliger.com/biological-neural-networks-part-i-spiking-neurons/</a>
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Sinapsi</h1>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li><img src="./Spiking_HM_files/pasted_image002.png" width="708"></li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Sistemi dinamici</h1>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>Un set di equazioni differenziali </li>
|
||||
</ul>
|
||||
<div style='padding-left: 510pt'>
|
||||
<img src="file:///home/cocco/Documents/neuroscienze/SNHM/equazione.png">
|
||||
</div>
|
||||
<ul>
|
||||
<li>Una matrice di connettività</li>
|
||||
<li>Descrizione matematica delle sinapsi</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Learning</h1>
|
||||
|
||||
<p>
|
||||
<img src="./Spiking_HM_files/pasted_image010.png"><br>
|
||||
Caso semplice, Hebbian: "fire together wire together": <br>
|
||||
Caso difficile <b>STDP → </b>plasticità dendriti, LTP, scaling...<br>
|
||||
Ma anche:<br>
|
||||
<ul>
|
||||
<li>Adattamento neuronale (canali ionici)</li>
|
||||
<li>Pruning</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Modelli</h1>
|
||||
|
||||
<p>
|
||||
<div style='padding-left: 90pt'>
|
||||
<img src="file:///home/cocco/Documents/neuroscienze/phd_project/articles/images/models_izikhievich.png">
|
||||
</div>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li><a href="http://jackterwilliger.com/attractor-networks/" title="http://jackterwilliger.com/attractor-networks/" class="http">http://jackterwilliger.com/attractor-networks/</a></li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Plasticità</h1>
|
||||
|
||||
<p>
|
||||
<img src="file:///home/cocco/Documents/neuroscienze/SNHM/plasticity.png">
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>La verità</h1>
|
||||
|
||||
<p>
|
||||
<img src="./Spiking_HM_files/pasted_image.png" height="600"><img src="./Spiking_HM_files/pasted_image014.png" height="600">
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Algoritmi</h1>
|
||||
|
||||
<p>
|
||||
Un po di idee
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>Computazione: Trasferimento, processamento e stoccaggio di formazione.</li>
|
||||
<li>-> Memoria, funzione di trasferimento etc..</li>
|
||||
</ul>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Poi volendo parliamo di <b>cognizione e machine learning</b>
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Machine Learning</h1>
|
||||
|
||||
<p>
|
||||
<img src="file:///home/cocco/Documents/neuroscienze/SNHM/algoritmi.png" width="800">
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Reservoir Computing</h1>
|
||||
|
||||
<p>
|
||||
<img src="file:///home/cocco/Documents/neuroscienze/SNHM/reservoir.png"><img src="file:///home/cocco/Documents/neuroscienze/SNHM/reservoir_2.png">
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>backprop</h1>
|
||||
|
||||
<p>
|
||||
<img src="./Spiking_HM_files/pasted_image001.png">
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>E-prop</h1>
|
||||
|
||||
<p>
|
||||
<img src="file:///home/cocco/Documents/neuroscienze/SNHM/eprop.png">
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Von Neumann bottle-neck</h1>
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>Von Neumann bootlneck</li>
|
||||
<li><a href="" title="MemResistor" class="page">MemResistor</a> → Memoria + computing </li>
|
||||
</ul>
|
||||
k<img src="file:///home/cocco/Documents/neuroscienze/SNHM/memcomputing.png">
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Turing cose</h1>
|
||||
|
||||
<p>
|
||||
A Neural Turing machine (NTMs) is a recurrent neural network model published by Alex Graves et. al. in 2014.[1] NTMs combine the fuzzy pattern matching capabilities of neural networks with the algorithmic power of programmable computers. An NTM has a neural network controller coupled to external memory resources, which it interacts with through attentional mechanisms. The memory interactions are differentiable end-to-end, making it possible to optimize them using gradient descent.[2] An NTM with a long short-term memory (LSTM) network controller can infer simple algorithms such as copying, sorting, and associative recall from input and output examples.[1] They can infer algorithms from input and output examples alone. <br>
|
||||
<a href="https://en.wikipedia.org/wiki/Neural_Turing_machine" title="https://en.wikipedia.org/wiki/Neural_Turing_machine" class="https">https://en.wikipedia.org/wiki/Neural_Turing_machine</a><br>
|
||||
<a href="https://en.wikipedia.org/wiki/Recurrent_neural_network" title="https://en.wikipedia.org/wiki/Recurrent_neural_network" class="https">https://en.wikipedia.org/wiki/Recurrent_neural_network</a>
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Conti</h1>
|
||||
|
||||
<p>
|
||||
1+11 =<br>
|
||||
23*5 = <br>
|
||||
25*77 =<br>
|
||||
2346 - 1352353 =<br>
|
||||
19*3245325=
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Test</h1>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Rapido</h1>
|
||||
|
||||
<p>
|
||||
<img src="./Spiking_HM_files/pasted_image016.png">
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Chi è?</h1>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>In generale</h1>
|
||||
|
||||
<p>
|
||||
Quindi il problema non è di potere computazionale, gli spiking neural network non si sa bene cosa possono computare!<br>
|
||||
Sono super turing? che vuol dire?<br>
|
||||
La cognizione "animale" è super turing? è un'altra cosa?<br>
|
||||
<img src="./Spiking_HM_files/pasted_image011.png">
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Neuromorphic devices</h1>
|
||||
|
||||
<p>
|
||||
<img src="./Spiking_HM_files/pasted_image013.png">\
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Moore's law</h1>
|
||||
|
||||
<p>
|
||||
Dennard scaling, also known as MOSFET scaling [bla bla 1974], states, roughly, that as transistors get smaller, their power density stays constant, so that the power use stays in proportion with area; both voltage and current scale (downward) with length.<br>
|
||||
<img src="./Spiking_HM_files/pasted_image005.png" width="500">
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Tempo/Spazio/Energia</h1>
|
||||
|
||||
<p>
|
||||
Note that a “human-scale” simulation with 100 trillion synapses (with relatively simple models of neurons and synapses) <br>
|
||||
required 96 Blue Gene/Q racks of the Lawrence Livermore National Lab Sequoia supercomputer—and, yet, the simulation ran 1,500 times slower than real-time. <br>
|
||||
A hypothetical computer to run this simulation in real-time would require 12GW, whereas the human brain consumes merely 20W.<br>
|
||||
<img src="./Spiking_HM_files/pasted_image006.png" width="600"><br>
|
||||
Consumo machine learning
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>True North</h1>
|
||||
|
||||
<p>
|
||||
<a href="https://www.research.ibm.com/artificial-intelligence/experiments/try-our-tech/" title="https://www.research.ibm.com/artificial-intelligence/experiments/try-our-tech/" class="https">https://www.research.ibm.com/artificial-intelligence/experiments/try-our-tech/</a><br>
|
||||
<a href="http://www.lescienze.it/news/2014/08/11/news/chip_reti_neurali_cervello_consumi_ridotti_efficienza_truenorth-2245681/" title="http://www.lescienze.it/news/2014/08/11/news/chip_reti_neurali_cervello_consumi_ridotti_efficienza_truenorth-2245681/" class="http">http://www.lescienze.it/news/2014/08/11/news/chip_reti_neurali_cervello_consumi_ridotti_efficienza_truenorth-2245681/</a><br>
|
||||
<a href="https://en.wikipedia.org/wiki/TrueNorth" title="https://en.wikipedia.org/wiki/TrueNorth" class="https">https://en.wikipedia.org/wiki/TrueNorth</a>
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Brain Drop</h1>
|
||||
|
||||
<p>
|
||||
Braindrop is the first neuromorphic system designed to be programmed at a high level of abstraction. Previous neuromorphic systems were programmed at the neurosynaptic level and required expert knowledge of the hardware to use. In stark contrast, Braindrop's computations are specified as coupled nonlinear dynamical systems and synthesized to the hardware by an automated procedure. This procedure not only leverages Braindrop's fabric of subthreshold analog circuits as dynamic computational primitives but also compensates for their mismatched and temperature-sensitive responses at the network level. Thus, a clean abstraction is presented to the user. Fabricated in a 28-nm FDSOI process, Braindrop integrates 4096 neurons in 0.65 mm 2 .
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Loihi</h1>
|
||||
|
||||
<p>
|
||||
<a href="https://en.wikichip.org/wiki/intel/loihi" title="https://en.wikichip.org/wiki/intel/loihi" class="https">https://en.wikichip.org/wiki/intel/loihi</a>
|
||||
</p>
|
||||
|
||||
|
||||
</div>
|
||||
<div class="slide">
|
||||
<h1>Reference</h1>
|
||||
|
||||
<p>
|
||||
<a href="https://web.stanford.edu/group/brainsinsilicon/neuromorphics.html" title="https://web.stanford.edu/group/brainsinsilicon/neuromorphics.html" class="https">https://web.stanford.edu/group/brainsinsilicon/neuromorphics.html</a><br>
|
||||
<a href="http://www.human-memory.net/" title="http://www.human-memory.net/" class="http">http://www.human-memory.net/</a> | The Human Memory - what it is, how it works and how it can go wrong<br>
|
||||
<a href="http://www.human-memory.net/processes_storage.html" title="http://www.human-memory.net/processes_storage.html" class="http">http://www.human-memory.net/processes_storage.html</a> | Memory Storage - Memory Processes - The Human Memory<br>
|
||||
<a href="https://www.semanticscholar.org/paper/Foundations-of-computational-neuroscience-Piccinini-Shagrir/d01b28fb22346bea00b053b8ccbd00ffc202ccf0/figure/0" title="https://www.semanticscholar.org/paper/Foundations-of-computational-neuroscience-Piccinini-Shagrir/d01b28fb22346bea00b053b8ccbd00ffc202ccf0/figure/0" class="https">https://www.semanticscholar.org/paper/Foundations-of-computational-neuroscience-Piccinini-Shagrir/d01b28fb22346bea00b053b8ccbd00ffc202ccf0/figure/0</a> | Figure 1 from Foundations of <a href="https://www.scientificamerican.com/article/computers-vs-brains/?redirect=1" title="https://www.scientificamerican.com/article/computers-vs-brains/?redirect=1" class="https">https://www.scientificamerican.com/article/computers-vs-brains/?redirect=1</a><br>
|
||||
computational neuroscience - Semantic Scholar<br>
|
||||
<a href="https://en.wikipedia.org/wiki/Dennard_scaling#Breakdown_of_Dennard_scaling_around_2006" title="https://en.wikipedia.org/wiki/Dennard_scaling#Breakdown_of_Dennard_scaling_around_2006" class="https">https://en.wikipedia.org/wiki/Dennard_scaling#Breakdown_of_Dennard_scaling_around_2006</a> | Dennard scaling - Wikipedia<br>
|
||||
<a href="http://jackterwilliger.com/biological-neural-network-synapses/" title="http://jackterwilliger.com/biological-neural-network-synapses/" class="http">http://jackterwilliger.com/biological-neural-network-synapses/</a> | Synapses, (A Bit of) Biological Neural Networks – Part II<br>
|
||||
<a href="https://en.wikipedia.org/wiki/Von_Neumann_architecture" title="https://en.wikipedia.org/wiki/Von_Neumann_architecture" class="https">https://en.wikipedia.org/wiki/Von_Neumann_architecture</a> | Von Neumann architecture - Wikipedia<br>
|
||||
<a href="https://books.google.it/books?hl=it&lr=&id=_eDICgAAQBAJ&oi=fnd&pg=PR5&dq=Bert+Kappen+neuromorphic&ots=vO-WQ-2b91&sig=0qSWaafR2Dv2Dm0QCJAqHyEkKFU#v=onepage&q=Bert Kappen neuromorphic&f=false" title="https://books.google.it/books?hl=it&lr=&id=_eDICgAAQBAJ&oi=fnd&pg=PR5&dq=Bert+Kappen+neuromorphic&ots=vO-WQ-2b91&sig=0qSWaafR2Dv2Dm0QCJAqHyEkKFU#v=onepage&q=Bert Kappen neuromorphic&f=false" class="https">https://books.google.it/books?hl=it&lr=&id=_eDICgAAQBAJ&oi=fnd&pg=PR5&dq=Bert+Kappen+neuromorphic&ots=vO-WQ-2b91&sig=0qSWaafR2Dv2Dm0QCJAqHyEkKFU#v=onepage&q=Bert Kappen neuromorphic&f=false</a> | Modeling Language, Cognition And Action - Proceedings Of The Ninth Neural ... - Google Libri<br>
|
||||
<a href="https://en.wikichip.org/wiki/intel/loihi" title="https://en.wikichip.org/wiki/intel/loihi" class="https">https://en.wikichip.org/wiki/intel/loihi</a> | Loihi - Intel - WikiChip<br>
|
||||
<a href="https://en.wikichip.org/wiki/neuromorphic_chip" title="https://en.wikichip.org/wiki/neuromorphic_chip" class="https">https://en.wikichip.org/wiki/neuromorphic_chip</a> | Neuromorphic Chip - WikiChip<br>
|
||||
<a href="https://en.wikipedia.org/wiki/Moore%27s_law" title="https://en.wikipedia.org/wiki/Moore%27s_law" class="https">https://en.wikipedia.org/wiki/Moore%27s_law</a> | Moore's law - Wikipedia<br>
|
||||
<a href="https://en.wikipedia.org/wiki/Hebbian_theory" title="https://en.wikipedia.org/wiki/Hebbian_theory" class="https">https://en.wikipedia.org/wiki/Hebbian_theory</a> | Hebbian theory - Wikipedia
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<a href="http://www.lescienze.it/news/2014/08/11/news/chip_reti_neurali_cervello_consumi_ridotti_efficienza_truenorth-2245681/" title="http://www.lescienze.it/news/2014/08/11/news/chip_reti_neurali_cervello_consumi_ridotti_efficienza_truenorth-2245681/" class="http">http://www.lescienze.it/news/2014/08/11/news/chip_reti_neurali_cervello_consumi_ridotti_efficienza_truenorth-2245681/</a> | TrueNorth, il chip a basso consumo che imita le reti cerebrali - Le Scienze<br>
|
||||
<a href="https://www.slideshare.net/Funk98/end-of-moores-law-or-a-change-to-something-else" title="https://www.slideshare.net/Funk98/end-of-moores-law-or-a-change-to-something-else" class="https">https://www.slideshare.net/Funk98/end-of-moores-law-or-a-change-to-something-else</a> | End of Moore's Law?<br>
|
||||
<a href="https://mms.businesswire.com/media/20150617006169/en/473143/5/2272063_Moores_Law_Graphic_Page_14.jpg" title="https://mms.businesswire.com/media/20150617006169/en/473143/5/2272063_Moores_Law_Graphic_Page_14.jpg" class="https">https://mms.businesswire.com/media/20150617006169/en/473143/5/2272063_Moores_Law_Graphic_Page_14.jpg</a> | 2272063_Moores_Law_Graphic_Page_14.jpg (JPEG Image, 2845 × 2134 pixels) - Scaled (44%)<br>
|
||||
<a href="https://www.techopedia.com/definition/32953/neuromorphic-computing" title="https://www.techopedia.com/definition/32953/neuromorphic-computing" class="https">https://www.techopedia.com/definition/32953/neuromorphic-computing</a> | What is Neuromorphic Computing? - Definition from Techopedia<br>
|
||||
<a href="http://www.messagetoeagle.com/artificial-intelligence-super-turing-machine-imitates-human-brain/" title="http://www.messagetoeagle.com/artificial-intelligence-super-turing-machine-imitates-human-brain/" class="http">http://www.messagetoeagle.com/artificial-intelligence-super-turing-machine-imitates-human-brain/</a> | Artificial Intelligence: Super-Turing Machine Imitates Human Brain | MessageToEagle.com<br>
|
||||
<a href="https://www.quora.com/If-the-human-brain-were-a-computer-it-could-perform-38-thousand-trillion-operations-per-second-The-world’s-most-powerful-supercomputer-BlueGene-can-manage-only-002-of-that-But-we-cannot-perform-like-a-supercomputer-Why" title="https://www.quora.com/If-the-human-brain-were-a-computer-it-could-perform-38-thousand-trillion-operations-per-second-The-world’s-most-powerful-supercomputer-BlueGene-can-manage-only-002-of-that-But-we-cannot-perform-like-a-supercomputer-Why" class="https">https://www.quora.com/If-the-human-brain-were-a-computer-it-could-perform-38-thousand-trillion-operations-per-second-The-world’s-most-powerful-supercomputer-BlueGene-can-manage-only-002-of-that-But-we-cannot-perform-like-a-supercomputer-Why</a> | 'If the human brain were a computer, it could perform 38 thousand trillion operations per second. The world’s most powerful supercomputer, BlueGene, can manage only .002% of that.' But, we cannot perform like a supercomputer. Why? - Quora<br>
|
||||
about:reader?url=https%3A%2F%2Fwww.nbcnews.com%2Fsciencemain%2Fhuman-brain-may-be-even-more-powerful-computer-thought-8C11497831 | Human brain may be even more powerful computer than thought<br>
|
||||
<a href="https://www.scientificamerican.com/article/computers-vs-brains/?redirect=1" title="https://www.scientificamerican.com/article/computers-vs-brains/?redirect=1" class="https">https://www.scientificamerican.com/article/computers-vs-brains/?redirect=1</a> | Computers versus Brains - Scientific American<br>
|
||||
<a href="https://www.youtube.com/results?search_query=go+artificial" title="https://www.youtube.com/results?search_query=go+artificial" class="https">https://www.youtube.com/results?search_query=go+artificial</a> | go artificial - YouTube<br>
|
||||
<a href="https://www.youtube.com/watch?v=g-dKXOlsf98" title="https://www.youtube.com/watch?v=g-dKXOlsf98" class="https">https://www.youtube.com/watch?v=g-dKXOlsf98</a> | The computer that mastered Go - YouTube<br>
|
||||
<a href="https://www.youtube.com/watch?v=TnUYcTuZJpM" title="https://www.youtube.com/watch?v=TnUYcTuZJpM" class="https">https://www.youtube.com/watch?v=TnUYcTuZJpM</a> | Google's Deep Mind Explained! - Self Learning A.I. - YouTube<br>
|
||||
<a href="https://cacm.acm.org/magazines/2019/4/235577-neural-algorithms-and-computing-beyond-moores-law/fulltext#R33" title="https://cacm.acm.org/magazines/2019/4/235577-neural-algorithms-and-computing-beyond-moores-law/fulltext#R33" class="https">https://cacm.acm.org/magazines/2019/4/235577-neural-algorithms-and-computing-beyond-moores-law/fulltext#R33</a> | Neural Algorithms and Computing Beyond Moore's Law | April 2019 | Communications of the ACM<br>
|
||||
<a href="https://medium.com/@thomas.moran23/the-amazing-neuroscience-and-physiology-of-learning-1247d453316b" title="https://medium.com/@thomas.moran23/the-amazing-neuroscience-and-physiology-of-learning-1247d453316b" class="https">https://medium.com/@thomas.moran23/the-amazing-neuroscience-and-physiology-of-learning-1247d453316b</a> | The Amazing Neuroscience and Physiology of Learning
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</body>
|
||||
</html>
|