There’s plenty of active research in higher-level “cognition” like decision theories and semantics, so I don’t think it’s crazy to believe good results will emerge there in the next few decades.
Interesting. Can someone elaborate about this?
HN user
Now using a new hacker-news account. No longer using this account.
There’s plenty of active research in higher-level “cognition” like decision theories and semantics, so I don’t think it’s crazy to believe good results will emerge there in the next few decades.
Interesting. Can someone elaborate about this?
Some thoughts:
Progress is not like a liquid, that increases continually with research. Progress is an unknown function, composed of huge number of discrete "discoveries". Each discovery is hidden behind research of variable level of difficulty. Each discovery, may or may not enable more discoveries. The reality may have either a finite or infinite amount of discoveries waiting to be made. We don't know for sure. This universe could have a finite amount of discoveries. But it is possible that we may find a way to travel to infinite other universes, and these may have infinite discoveries waiting to be made.
The shape of the technical progress function, depends on these unknown factors. So it is wrong to assume that it is an exponential. Although an exponential seems like a good approximation around the local point in which we currently are. The population have been growing, and the economy have been growing. These two factors have enabled an increased amount of resources dedicated to research. The more research being done, increases the probability of discovering the available discoveries that exist at the current technological level. The speed of progress depends on the amount of research, and the number of latent discoveries hidden in our reality.
We are approximating the point, in which we can build artificial general intelligence. This will be a machine similar to a human mind, but capable of dramatically faster reasoning. Its internal dialogue will be millions of times faster than a human mind. Because it will move at electrical speeds, instead of biological speeds. Also it will have practically perfect and unlimited memory (compared to human capabilities). And will have almost instantaneous capability to resolve mathematical calculations of reasonable level. With these improvements, it can be expected that it will be much more effective at making discoveries than a human. Additionally these machines will be industrially replicable. So it will be possible to put a large amount of them at work on problems. It is reasonable to expect that these machines will resolve the chain of discoveries available to be made faster than humans.
These artificial machines will maximize discoveries, from the chain of discoveries available. What this is going to mean, depends on the actual unknown amount discoveries available in this universe. If things like nanotechnology, molecular machines, biological machines, etc, are actually possible, these intelligent machines are well equipped to discover them dramatically faster than we humans. If there is new physic available to be discovered, these machines have much better chance than humans at discovering it.
Will machine superintelligence actually create a singularity? maybe, or maybe not. Depends on the amount of discoveries to be made, contained in this universe, and their level of difficulty. It could be the case that our universe is running out of hidden discoveries. So any prediction on the shape of the curve of progress, is pure speculation. For example, we could have already run out of exploitable significant discoveries in physics. Or we could be on the verge of discovering faster-than-light/instantaneous communications, and lots of other things.
In my opinion the invention of artificial general intelligence, and superintelligence is imminent. A matter of years. I base this on introspective observation of the thinking process of my mind. And in comparison of it with the operation of artificial neural networks. They show similarities. The thinking process of the mind is entirely reproducible with deep learning networks, assembled in the right structure. An interesting topic is, who is doing this research. Obviously, the big tech corporations are working on it. But are states organizations also working on it? Who is doing the biggest investment? Who has the best odds of inventing it? What will happen when someone gets it? Are they going to immediately announce it?
I am working on creating basic artificial general intelligence. My research is still early, and I don't want to give much details for now. For example, in my opinion it is wrong to feed a giant neural network with tons of text, and expect it to understand human language. That will never work. Language understanding requires a grasp of a world where the agent exist first. A general understanding of things. Then, on top of that, it can build basic communication. And then it can be hoped that this communication can become sophisticated enough, to reach human language level.
Another example: Feeding a neural network with millions of product reviews, and expect it to be capable to understand and write product reviews is hopelessly laughable. Not even with petabytes of data.
I started working on this, because I think that not enough focus is being put on AGI, or research is not creative enough. At least not that is being published. I am optimist with my work, and soon I will reveal more. But even if I don't reach my goals, I think that it is just a matter of persistence. At any moment, someone will solve the problem of AGI.
Interesting article, in a difficult topic. Speculating about the future of deep learning. The author deserves recognition for writing about this. In my personal opinion, within the next 10 years, there will be systems exhibiting basic general intelligence behavior. I am currently doing early hobbist research on it, and I see it as feasible. These system will not be very powerful initially. They will exist and work in simpler simulated environments. Eventually we will be able to make these systems powerful enough to handle the real world. Although that will probably not be easy.
I somewhat disagree with the author. I don't think that deep learning systems of the future are going to generate "programs", composed of programming primitives. In my speculative view, the key for general intelligence is not very far from our current knowledge. Deep learning, as currently we have, is a good enough basic tool. There are no magic improvements to the current deep learning algorithms, hidden around the corner. Rather what I think will enable general intelligence, is assembling systems of deep learning networks in the right setup. Some of the structure of these systems will be similar to traditional programs. But the models they generate will not resemble computer programs. They will be more like data graphs.
I expect within 10 years there will be computer agents capable of communicating in simplified, but functional languages. Full human language capability will come after that. And within 20 years I expect artificial general intelligence to exist. At least in a basic form. That is my personal view. I am currently working on this.
My horse carriage is very useful. The horse just feeds itself, if you leave him in a grass field. It rarely gets sick and last many years. The wheels are easily replaced from the store.
The other day I saw a crazy guy with a mechanical contraption that, according to the guy, moved by burning wood! The guy was demoing it at the town. He filled it with wood, and then had to start the fire. The crazy machine got so hot that nobody could get near it. The thing barely moved a few meters and then Kabooooom!! it exploded in a black cloud. What sane person may ever believe that one of these contraptions could be useful?
Am I right? Are you right? we don't know. Research is the only way to know.
Interesting presentation. One thing that we agree, is that the current state of programming is not final. There have to be better ways for humans to program. I wonder how much people thinks like that. A poll would be interesting.
In reality, programming has been stuck in the text approach for many years. Perhaps some people take that as evidence that there is no more progress to be made. Another factor that may be undermining research in programming, is the AI boom. Perhaps some think that AI will displace programmers in a not too distant time.
I agree with you that programs are data. And would benefit from a more specialized representation. I have been researching the aspect of program logic. For example, one thing that I think is terrible in programming, is deep nesting levels. That makes it complex to follow programs. I have been exploring ways to improve that. In my opinion graphical visualizations can provide ways to improve that.
I have been working on xol, a graphic based programming language.
xoL is a graphic based programming language. It represents programming concepts with graphics instead of text. It is product of a long, painstaking design effort, to get an optimal graphical presentation of programs. A good description of it is available in this blog post: http://lignixz.github.io/blog/posts/17/xoL_graphics_based_pr...
A partially working prototype from a previous version is available online. The newer current design has fundamental improvements over that previous prototype. The way some program elements work was redesigned. The control method was also redesigned. It is now aimed primarily at touch based controls. Here is the prototype for the previous version: https://github.com/lignixz/xra9 . The prototype is not optimized for performance so excuse that. It is functional to some extent, if you can figure how to use it. You can add and modify programming elements.
Would welcome any opinions/feedback. Also interested in finding partners/investors/sponsors that may be interested in this project.
Imagine how much energy the world would save if most people where working from home. Electricity, transport fuel. How much less pollution and traffic jams. How much less need to build cars and transport systems. How much extra time to enjoy life would people have by not commuting.
With so huge positives. I don't understand why not more research is put into work-from home.
xoL is a graphic based programming language that I have been working on. The goal is to make programs visually easier to read. And to be editable with almost no use of keyboard. It can work well on tablets. A partially working prototype can be found here: https://github.com/lignixz/xoL
I have a newer design with substantial improvements. If only I had funding to focus on this.
thanks! The next version, not revealed yet, look beautiful, has some fundamental improvements in design, and has a different, better user interface. I wish I could find some funding entity, that wants to partner to complete this project.
Another programming UI: I have been designing a graphic based programming language: xol. In xol code is represented with graphical elements instead of text. A prototype of the first version (partially working code editor) can be seen here: https://github.com/lignixz/xra9
There is already a second version design, 2x better looking, not revealed yet. I also have some additional ideas that may improve the language further.
If life is there, completely disconnected from earth life, it would be dramatic. That would mean that our solar system, has life on at least two, out of nine planets. That would seem to indicate that life is a fairly common things on planets. It would allow to adjust the drake equation, to easily predict millions of planets with life. And that would mean a high probability of many advanced, intelligent civilizations on the universe.
The base structure may be somewhat similar. However Angular 2 makes things more complicated with more stuff: dependency injection, class decorators, services, etc. Riotjs takes a simpler approach, inspired by React, but improved with better design. In Angular 2 inline html templates that are not syntax-highlighted by code editors. Full html templates require spliting the component in separated files.
In Angular 2 there are multiple data bindings syntaxs: There is one way up, one way down, or 2 ways. In Riotjs, there is only one, and you can use it with the Flux architecture or similar for a simpler, easier to reason about, and proven architecture. In my opinion Angular 2 is over enginered, with a lot of stuff that you can easily do without it. See React. And by not having over enginered stuff, you benefit of a simpler architecture that is easier to learn, and simpler to use. I have found that simplicity makes many people more productive. And React and Riotjs both are simpler than angular 2.
I have used react and angular2. Plus some other frameworks like polymer and vuejs. And have studied a few others. The one that makes me more productive is riotjs. Simple, minimalist design, yet it has the best implementation of components of them all. Components are custom tags written in html, with scoped javascript and css styles, in a single file. This is easier than React because your html is actual html, not trapped inside of render jsx functions. It is easier than angular, because it is simpler, faster to write and read.
It has one way data binding, like React, that is simpler to reason than 2-way in Angular. Riotjs is the framework that I recommend.
I remember the first time that I played Super Mario bros on the NES. I was so absolutely blown away, that words don't make justice. I had previous experience with many consoles and computer games. But this thing -Mario Bros- was so incredibly well designed, that it was beyond unbelievable. This little box, packing this strange, exotic world, full of inexplicable, surprising creatures and devices. With many different areas full of mysteries. Reinforced by the perplexing, hypnotizing music. I still can clearly hear it. The amazing sound effects. I can still clearly hear the sound of entering a pipe, and descending into the underground. The amount of engaging and continually fresh motion, required to overcome the always changing obstacles, was absolutely unequaled at the time.
There were moments that I would be idle, pondering how it was possible to pack so much brilliant design on a thing. I would then be also tremendously impressed by other games of the time, notably Zelda and Super Mario Bros 3. That I would become a big fan of Japanese game design for life. Investigating and following the individual game creators. Since then, I slowly noticed that the Japanese, and some Asians, have a unique sensibility that gives their games a peculiar flavor. Many people -mainly westerns- don't resonate with this peculiar uniqueness, that rarely exist in western games. And that is ok, just interesting. It is like they can achieve a laser focus on a particular set of simple, essential human emotions. It can be found on how they draw things, the stories that write, etc. That particularly inspires some people.
For many people, Nintendo games of the time were so dramatically better designed, compared to the standards of the time, that they were like gold compared to the others dirt. That was an important factor, possibly the biggest, in the creation of the generation Nintendo. It is very interesting to know what were the conditions and events, that allowed Nintendo the company, to come up with these absolutely brilliant products at the time. That allowed it to achieve legendary status among so many people.
This effort, and many previous ones lack of dramatic results, highlight the fact that reinventing programming is very difficult. The human mind is not very well equipped for computer programming. So it seems that the real programming revolution, will come when artificial intelligence becomes capable enough to do the programming by itself. Based on natural human language descriptions, or completely from the machine initiative. Probably that time is not too far off.
As an interesting note to this, my personal take on the matter is not to reinvent programming, that is too hard. But to reinforce it with a graphical user interface. A programming GUI will simplify programming in a similar way that an icon based file manager simplifies file manipulation. The main benefit is to free users from having to memorize textual command patterns. I haven't done a good job of explaining my vision of it, but here it is anyway: https://nzonbi.github.io/xoL/
I think that the event will help to boost investors confidence, and hence investment in AI research. Which is great, because it means accelerated pace of innovation. It is a huge win for the AI field. AlphaGo showed that a special arrangement of neural networks with additional algorithms can deliver spectacular results. They can now try more sophisticated arrangements of neural networks, to achieve more ambitious results. I hope that we will now start to see more creative attempts at AI. The time to finally reach to general AI, will depend on the magnitude of the research effort that is put on. This kind of highly publicized events are very positive.
AlphaGo was a combination of neural networks with a tree search algorithm. I think that very interesting things could be achieved, combining neural networks with basic knowledge representation systems -symbolic AI-. These techniques are highly discredited for under-delivering in the past. But I think that it is a good moment to revisit some of these past techniques, and combine them with the more recent techniques of neural networks. It could be an interesting base to attach neural networks. And then submerge the AI on a basic simulated world. Something like minecraft, perhaps, as Microsoft announced that is going to do. I think that giving the neural networks some basic structure to depend on, can help to achieve results more easily.
In any case, I hope that high profile AI events like AlphaGo victory continue happening, to help to further increase AI research.
In my opinion JSX is usable, and gets the job done. I have used it, and enjoyed it. However, my personal preference to write html is one that I think looks beautiful in comparison to template engines. Nicely enhanced by syntax highlighting, and perfectly pure in its structure. And with the most known syntax. It is the most simple and productive. It is: writing html in html itself. (I am describing my personal favorite, not saying that it should be the right way for everyone). I prefer frameworks that let me structure the html views of my projects, using declarative html.
In the same line, breaking things into components is best achieved, in my opinion, using web components. The syntax is a little muddy, due to all the html legacy cruft. But I find it better than the alternatives, for example react components. With web components, the great thing is that any styles and javascript functionality is scoped to the component. That allows for better separation of concerns in separated components. This is specially useful when you have components with functional styles: animations, transitions, etc.
After componetization is solved by web components, the problems with html in html boils down to mostly two things: generating multiple elements from some data, or setting data in elements based on some other data. For these things I prefer the syntax style of data binding and "repeaters". My favorite is polymer(https://www.polymer-project.org/1.0/). Example:
<el-container id="listbox">
<el-list-items itemsdata="{{model.itemlist}}"></el-list-items>
</el-container>
And the concern of repeating multiple elements is trapped in a component. In the example above, in <el-list-items>. In general, when using this technique, data binding must not be abused, or the view becomes a mess.That is an interesting point. In my opinion AIs _could_ have "emotions" put in them too. Emotions are nothing more than a mechanism baked in the neural network to work toward goals. AlphaGo for example, could be seen as having a single very basic emotion: Work toward winning the match. We may not clearly understand how to put emotions in the AIs that we will build. But we have some working example: The emotions in our brains. Or in some animals like dogs, or dolphins. These are mechanism to guide individuals toward goals: to survive, to mate, accumulate resources, etc. And are pretty effective. If we successfully reach to understand how these mechanisms work, then we will be able to bake emotions in the AIs that we will build. That we will use to push these AIs toward specific goals. If we succeed, then we could actually have "friendly" AIs. If we don't do this, then we will have "cold" AIs. Without emotions, that we will have to try to keep under control in other ways.
What if our only evolutionary value is to give rise to machine intelligence
There is no prescribed script about what our evolutionary value should be. We will be whatever we ourselves make of us. Unless something unexpected happens -more advanced aliens intervening with our specie for example- Our human instinct is to grow, explore, discover, compete, share as much as we can. AI should be seen as a tool to our goals. Not as an end by itself. There is of course the possibility that we may loose control to the AI. That is not our desired goal, but it could happen. In that case our future will not be our decision. We will be at the mercy of whatever the AI choose for us. That will depend on what kind of AI we built, and how the rampant AI chooses to modify itself. But we will strive to reach our human goals. Because that is the human nature.
In the grand scheme of things, what is the point of humans repeating billion of times the same cycle?: born, grow, learn, achieve some things, have some fun, and die. It is awesome a few times. But it is worth to repeat and repeat that for ever? Not if there is a much better option: The singularity. It has the potential to enhance the human race in formidable ways. Yes,there is the risk that the AI may chose to destroy us. But in my opinion is a bet that we should take. Just try our best to not be destroyed in the way. But we shouldn't leave this opportunity unexplored. It would be the biggest achievement of humanity.
In my opinion a possible path is to make some sort of Symbolic AI (https://en.wikipedia.org/wiki/Symbolic_artificial_intelligen...) system, and put machine learning on top, and even below of it. You could start with a very basic Symbolic AI, easier to understand. Then growth it gradually. The cool thing of this approach, would be that you could inspect the symbolic system to get a glance at how the AI system is thinking. Obviously a purely neuronal system can also do the trick. That is how the human brain works. But it would be great to make a system based on a symbolic AI, because it could be very interesting to observe its inner working. And it would also be possible to interact with it at the symbolic level.
General AI could be the biggest ever discovery for humanity. But it will never be if we don't put a hard enough effort. The bad thing, is that economy laws seem to assign a limited effort toward it. In my opinion we should be trying harder. Worth mentioning is OpenAI (https://openai.com/), an effort by Y Combinator, Elon Musk and others. Brilliant initiative.
It is just a guess. Human thought, although highly complex, is in my opinion something actually feasible to be simulated. If I had a large research budget under my control, I would be betting most of it on AGI.
This is awesome, finally AlphaGo has beaten Lee Sedol. Congratulations to the team at DeepMind and Google. But I will go straight to the really interesting point: My completely baseless intuition tells me that we will have full AGI (artificial general intelligence) in 5-10 years. Maybe not very powerful at first, but a least working. Real general intelligence. I say this as a programmer with superficial knowledge on ML (machine learning). All that is needed is to figure a way, to make neural networks handle the flow of thoughts of human consciousness. Reasoning, short/long term memory, basic controlling "emotions", etc. Then to assemble this central thought unit, in a system with various neural networks to handle more specialized tasks: Vision, natural language processing, audition, motion,etc. The task is of course extremely difficult, but I have the feeling that it will be possible to overcome.
Once this have been achieved, it is downhill from there. The singularity. In my opinion, we must start to consider how this tremendous breakthrough will affect the human race. Our lives, economy, culture, etc. Awesome things we will be witnessing in the coming times. It would be great if it were possible to make public, the progress made researching specifically AGI. I wonder how big of an effort is currently being done. This would be possibly the biggest discovery ever for humanity. It deserves a fantastic effort.
Polymer (https://www.polymer-project.org) is a solution for the styles problem. You can pack each component with its own styles, complete with all its functionality. This allows for a very clean separation of concerns among components. Better than all other libraries that I have tried. I hope that web components take off, because it is a great way to build apps. Currently they are only supported in Chrome.
Moving data between components in Polymer, can be done with data binding. The bad thing is that it could get messy for complex applications. Is not terribly bad, but it could be better. What Polymer needs is a better way to move data between components. If that problem is solved, Polymer would be an excellent alternative to create any kind of apps.
xoL icon based programming language: http://nzonbi.github.io/xoL/
Programs looks cooler than text, and are easier to work with (once you learn it). Project current status is prototype under construction.
XoL is a programming language where code elements are designed icons. This makes code flow and meaning easier to read than text. I have put a lot of work to optimize the design as best as possible. The design shown in the page is an earlier version. The current design has been improved greatly. I don't want to reveal it until it is actually working. I find programs in xoL are beautiful and engaging to look at. And are easier to understand than text. The user interface is designed aiming to make writing and editing programs, easier than editing text.
The actual language has been designed specially to work well with the icon design. One key point is that xoL is statically typed. The type system aims for simplicity -it is very easy to use-. The types are represented with icons. This helps to make easier to understand the meaning of programs.
You can talk to me if interested in the project.
I am curious about how many applicants are they getting in this round, S16. Also what kinds of companies are YC most interested in nowadays, given their accumulated experience, and the current market conditions.
My dream (currently impossible) is that Canonical would make money by selling hardware: a Canonical branded surface-3-alike, which can wirelessly connect to a giant desktop monitor, and still work as a second screen.
This is an interesting design, independently if it may or may not be successful. In my opinion the keyboard should be reinvented. The qwerty and similar designs works, but not for everybody. I for example, took a course on using qwerty correctly, with all fingers, and without having to look at it, and failed. I can type fairly fast, but must look at the keys most of the time, and mostly use both index fingers only. The arrangement feels not intuitive for me, more like a mess. I can't never remember where a key is located exactly. All I can memorize are approximate locations. I am sure that at least for me, there could be better keyboard implementations. I have been thinking, and have some ideas. Both for on-screen touch, and physical keyboards. I may try implementing them soon.
There is currently a cool trend on the PC market, in which companies are trying innovative form factors. The hybrid laptop-tablets are becoming popular. There are great devices on the market. MS surface 3, lenovo yoga and miix, asus convertibles, acer R7 and switch, are good examples. But the way I see it, these devices are saddened by the ugly and not cool qwerty keyboards. I wonder why those companies that have the resources, and are eager to differentiate on the market, haven't tried any alternative to the old qwerty. The world needs more creativity. For example, what does stop Microsoft, from offering a choice of alternative keyboard implementations as surface covers? In my opinion this is a big missed opportunity, and I hope these companies realize it someday. In the meantime, I may soon come up with a homemade alternative keyboard for my personal use.
For those that the qwerty keyboard works, they should continue using it. But for those that don't, which I suspect are the majority, could use alternatives. There is an interesting opportunity in the market for those that realize it.