Thursday, May 17, 2018

VentureBeat: Evolutionary computation will drive the future of creative AI


Evolutionary computation will drive the future of creative AI
VentureBeat

AI is arguably the biggest tech topic of 2018. From Google Duplex's human imitations and Spotify's song recommendations to Uber's self-driving cars and the Pentagon's use of GoogleAI, the technology seems to offer everything to everyone. You could say AI has become synonymous with progress via computing. However, not all AI is created equal, and for AI to... Read the full story


Shared from Apple News

Demystifying Generative Adversarial Networks

Demystifying Generative Adversarial Networks by Stefan Hosein

Download Medium on the App Store or Play Store

Wednesday, May 16, 2018

Physicists Seek To Lose The Lecture As Teaching Tool : NPR

Physicists Seek To Lose The Lecture As Teaching Tool : NPR

Physicists Seek To Lose The Lecture As Teaching Tool

The lecture is one of the oldest forms of education there is.

"Before printing someone would read the books to everybody who would copy them down," says Joe Redish, a physics professor at the University of Maryland.

But lecturing has never been an effective teaching technique and now that information is everywhere, some say it's a waste of time. Indeed, physicists have the data to prove it.

When Eric Mazur began teaching physics at Harvard, he started out teaching the same way he had been taught.

"I sort of projected my own experience, my own vision of learning and teaching — which is what my instructors had done to me. So I lectured," he says.

He loved to lecture. Mazur's students apparently loved it, too. They gave him great evaluations and his classes were full.

"For a long while, I thought I was doing a really, really good job," he says.

But then in 1990, he came across articles written by David Hestenes, a physicist at Arizona State. Hestenes got the idea for the series when a colleague came to him with a problem. The students in his introductory physics courses were not doing well: Semester after semester, the class average never got above about 40 percent.

"I noted that the reason for that was that his examination questions were mostly qualitative, requiring understanding of the concepts rather than just calculational, using formulas, which is what most of the instructors did," Hestenes says.

Hestenes had a suspicion students were just memorizing the formulas and never really getting the concepts. So he and a colleague developed a test to look at students' conceptual understanding of physics. It's a test Maryland's Redish has given his students many times.

Here's a question from the test: "Two balls are the same size but one weighs twice as much as the other. The balls are dropped from the top of a two-story building at the same instant of time. The time it takes the ball to reach the ground will be..."

The possible answers include about half as long for the heavier ball, about half as long for the lighter ball, or the same time for both. This is a fundamental concept but even some people who've taken physics get this question wrong.

To get to the answer, Redish went to the second floor of the physics building. A group of his students was on the sidewalk below. When he reached the top, he dropped two balls from the roof.

The two balls reached the ground at the same time. Sir Isaac Newton was the first person who figured out why. He came up with a law of motion to explain how two balls of different weights, dropped from the same height, hit the ground simultaneously.

While most physics students can recite Newton's second law of motion, Harvard's Mazur says, the conceptual test developed by Hestenes showed that after an entire semester they understood only about 14 percent more about the fundamental concepts of physics. When Mazur read the results, he shook his head in disbelief. The test covered such basic material.

"I gave it to my students only to discover that they didn't do much better," he says.

The test has now been given to tens of thousands of students around the world and the results are virtually the same everywhere. The traditional lecture-based physics course produces little or no change in most students' fundamental understanding of how the physical world works.

"The classes only seem to be really working for about 10 percent of the students," Arizona State's Hestenes says. "And I maintain, I think all the evidence indicates, that these 10 percent are the students that would learn it even without the instructor. They essentially learn it on their own."

He says that listening to someone talk is not an effective way to learn any subject.

"Students have to be active in developing their knowledge," he says. "They can't passively assimilate it."

This is something many people have known intuitively for a long time — the physicists just came up with the hard data. Their work, along with research by cognitive scientists, provides a compelling case against lecturing. But with budgets shrinking and enrollments booming, large classes aren't going away. You don't have to lecture in a lecture hall though.

Mazur's physics class is now different. Rather than lecturing, he makes his students do most of the talking.

At a recent class, the students — nearly 100 of them — are in small groups discussing a question. Three possible answers to the question are projected on a screen. Before the students start talking with one another, they use a mobile device to vote for their answer. Only 29 percent got it right. After talking for a few minutes, Mazur tells them to answer the question again.

This time, 62 percent of the students get the question right. Next, Mazur leads a discussion about the reasoning behind the answer. The process then begins again with a new question. This is a method Mazur calls "peer Instruction." He now teaches all of his classes this way.

"What we found over now close to 20 years of using this approach is that the learning gains at the end of the semester nearly triple," he says.

One value of this approach is that it can be done with hundreds of students. You don't need small classes to get students active and engaged. Mazur says the key is to get them to do the assigned reading — what he calls the "information-gathering" part of education — before they come to class.

"In class, we work on trying to make sense of the information," Mazur says. "Because if you stop to think about it, that second part is actually the hardest part. And the information transfer, especially now that we live in an information age, is the easiest part."

Mazur's approach is one of many developed in response to evidence that traditional lectures don't work. Among the advocates of these approaches there's an increasing sense of urgency about how to help more students do better.

"We need to educate a population to compete in this global marketplace," says Brian Lukoff, an education researcher at Harvard. "We can't do that by just sort of picking out 10 percent and saying, 'Oh you guys are going to be the successful ones,' and you know we need a much larger swath of that population to be able to think critically and problem-solve."

But ask anyone involved with efforts to lose the lecture and they'll tell you they encounter resistance. Sometimes the stiffest opposition comes from the students.

"Revamping my entire education, you know, philosophy for this one class was a bit daunting," says Ryan Duncan, a sophomore in Mazur's class.

But he adapted and says he learned more in Mazur's class than he did in his other physics course at Harvard.

Maryland's Redish says when he lays out the case against lecturing, colleagues often nod their heads, but insist their lectures work just fine. Redish tells them — lecturing isn't enough anymore.

"With modern technology, if all there is is lectures, we don't need faculty to do it," Redish says. "Get 'em to do it once, put it on the Web, and fire the faculty."

Some faculty are threatened by this, but Mazur says they don't have to be. Instead, they need to realize that their role has changed.

"It used to be just be the 'sage on the stage,' the source of knowledge and information," he says. "We now know that it's not good enough to have a source of information."

Mazur sees himself now as the "guide on the side" – a kind of coach, working to help students understand all the knowledge and information that they have at their fingertips. Mazur says this new role is a more important one.

American Radioworks is the documentary series from American Public Media. You can find more of their reporting on this issue at "Don't Lecture Me."

Wednesday, May 9, 2018

Navigating with grid-like representations in artificial agents | DeepMind

Navigating with grid-like representations in artificial agents | DeepMind

Navigating with grid-like representations in artificial agents

Most animals, including humans, are able to flexibly navigate the world they live in – exploring new areas, returning quickly to remembered places, and taking shortcuts. Indeed, these abilities feel so easy and natural that it is not immediately obvious how complex the underlying processes really are. In contrast, spatial navigation remains a substantial challenge for artificial agents whose abilities are far outstripped by those of mammals.

In 2005, a potentially crucial part of the neural circuitry underlying spatial behaviour was revealed by an astonishing discovery: neurons that fire in a strikingly regular hexagonal pattern as animals explore their environment. This lattice of points is believed to facilitate spatial navigation, similarly to the gridlines on a map. In addition to equipping animals with an internal coordinate system, these neurons - known as grid cells - have recently been hypothesised to support vector-based navigation. That is: enabling the brain to calculate the distance and direction to a desired destination, "as the crow flies," allowing animals to make direct journeys between different places even if that exact route had not been followed before.

The group that first discovered grid cells was jointly awarded the 2014 Nobel Prize in Physiology or Medicine for shedding light on how cognitive representations of space might work. But after more than 10 years of theorising since their discovery, the computational functions of grid cells -- and whether they support vector-based navigation -- has remained largely a mystery.

Monday, May 7, 2018

A new way of blogging about Common Lisp

A new way of blogging about Common Lisp

A new way of blogging about Common Lisp

This blog post is about to show a new way of blogging about Common Lisp.

Look at a typical blog post or tutorial about any programming language: The article usually presents a couple of code snippets. As I see it, there are two pains with code snippets:

  1. they contain the input and the output but not the actual evaluation of the input
  2. it's impossible for the reader to modify the output

The forgotten dream

A long time ago, all the developers had a common dream. The dream was about interactivity, liveness, evaluation…

But we put this dream aside - because the browser understands only javascript.

And after a while, we even forgot that we ever had this dream.

Still, there are some people that didn't forget this dream, like Alan Kay:

Question: Well, look at Wikipedia — it's a tremendous collaboration.

Alan Kay: It is, but go to the article on Logo, can you write and execute Logo programs? Are there examples? No. The Wikipedia people didn't even imagine that, in spite of the fact that they're on a computer.

Here is the full interview of Alan Kay. (Thanks @fasihsignal for bringing this quote to our awareness.)

dream

The klipse plugin

The klipse plugin is a small step toward this dream: it is a javascript tag that transforms static code snippets of an html page into live and interactive snippets:

  1. Live: The code is executed in your browser
  2. Interactive: You can modify the code and it is evaluated as you type

Klipse is written in clojurescript,

The following languages are supported by Klipse - in any modern browser (including mobile): clojure, ruby, javascript, python, scheme, es2017, jsx, brainfuck, c++, ocaml, reason and Common Lisp.

In this article, we are going to demonstrate interactive Common Lisp code snippets evaluated by JSCL. Big thanks to @HenryS1, @davazp and @t-cool for this super cool project and their help for integration JSCL into Klipse.

Klipsify a Common Lisp code snippet

Let's have on this page a small static code snippet:

(let ((a 6)        (b 4))    (+ a b))    

(This blog is written with jekyll: the kramdown plugin helps a lot in beautifying the code snippets.)

And now, we are going to klipsify this code snippet:

Feel free to edit the code above: it's interactive => it evaluates as you type.

All I had to do in order to klipsify my code snippet, was to set the language-klipse-clisp class (configurable) to the appropriate html element.

See it by yourself: here is the source of this page:

<p>And now, we are going to <strong>klipsify</strong> this code snippet:</p>    <pre><code class="language-klipse-clisp">   (let ((a 6)         (b 4))     (+ a b))    </code></pre>    

Live demo

Before dealing about integration of the klipse plugin on a web page, let's enjoy another simple klipse snippet in Common Lisp:

Go ahead! modify the code snippet above, and it will evaluate as you type…

Evaluating a gist

We can also evaluate code from a gist.

For instance, we could evaluate this gist that defines the factorial function and calls it with 5:

Again, feel free to modify the code…

Integration

All you need to do in order to integrate the klipse plugin to your blog (or any other web page), is to add this javascript tag to your web page:

<link rel="stylesheet" type="text/css" href="http://app.klipse.tech/css/codemirror.css">    <script>      window.klipse_settings = {          selector_eval_clisp: '.language-klipse-clisp', // css selector for the html elements you want to klipsify      };  </script>  <script src="http://app.klipse.tech/plugin_prod/js/klipse_plugin.min.js"></script>  

By the way, this is exactly what we did on the page that you are currently reading.

Other languages

The Klipse plugin is designed as a platform that could support any language that has a client-side evaluator, by writing modules to the Klipse plugin. Currently, there are modules available for the following languages:

Conclusion

Go ahead!

Write your own blog post with interactive snippets in your preferred language.

It's super simple to integrate the Klipse plugin on a blog bost: check the instructions on Klipse github repository.

You can get inspired by the work of the Klipse community