How to compress is one question. How to tree-prune is a second, and what values machines should have is a third.
What I didn’t realise—until fairly recently—is the extent to which the first problem is key. It appears that can be usefully be factored out and solved independently.
General-purpose stream compression is a fairly specific computer science problem. However, it is true that we still need to figure out how to do it well.
Having a very detailed understanding of general patterns in English gives you almost as much compression of a textbook as the additional ability to fully understand the subject matter. How does progress on the first ability get us closer to GAI?
In the link, he proves that optimal compression is equivalent to AI. He gives no reason why improving compression is the best approach to developing AI. The OP asked what areas of AI study are useful, not which ones would work in principle. You may have evidence that this is the best approach in practice, but you have not presented it yet.
In the link, he proves that optimal compression is equivalent to AI.
I don’t actually think that compression is equivalent to intelligence. However, it is pretty close!
The OP asked what areas of AI study are useful, not which ones would work in principle. You may have evidence that this is the best approach in practice, but you have not presented it yet.
My main presentation in that area is in the first of the links I gave:
Compression allows an easy way of measuring progress—an area which has been explored by Shane Legg. Also, it successfully breaks a challenging problem down into sub-components—often an important step on the way to solving the problem. Lastly, but perhaps most significantly, developing good quality stream compression engines looks like an easier problem than machine intelligence—and it is one which immediately suggests possible ways to solve it.
I don’t know that it is the best approach in practice—just that it looks like a pretty promising one.
It is not clear to me that what we are measuring is progress. We are definitely improving something, but that does not necessarily get us closer to GAI. Different algorithms could have very different compression efficiencies on different types of data. Some of these may require real progress toward AI, but many types of data can be compressed significantly with little intelligence. A program that could compress any type of non-random data could be improved significantly just by focusing on thing that are easy to predict.
A program that could compress any type of non-random data could be improved significantly just by focusing on thing that are easy to predict.
Not by very much usually, if there is lots of data. Powerful general purpose compressors would actually work well.
Anyway, that is the idea—to build a general purpose Occamian system—not one with lots of preconceptions. Non-Occamian preconceptions don’t buy that much and are not really needed—if you are sufficiently smart and have a little while to look at the world and see what it is like.
A program that could compress any type of non-random data could be improved significantly just by focusing on thing that are easy to predict.
Not by very much usually, if there is lots of data. Powerful general purpose compressors would actually work well.
Huffman encoding also works very well in many cases. Obviously you cannot compress any compressible data without GAI, but there are no programs in existence that can compress any compressible data and things like Huffman encoding do make numerical progress in compression, but they do not represent any real conceptual progress. Do you know of any compression programs that make conceptual progress toward GAI? If not, then why do you think that focusing on the compression aspect is likely to provide such progress?
I was just trying to make the point that compression progress is possible without AI progress.
If you have a compressor that isn’t part of a machine intelligence, or is part of a non-state of the art machine intelligence, then that is likely to be true.
However, if your compressor is in a state of the art machine intelligence—and it is the primary tool being used to predict the consequences of its actions, then
compression progress (smaller or faster), would translate into increased intelligence. It would help the machine to better predict the consequences of its possible actions, and/or to act more quickly.
However, if your compressor is in a state of the art machine intelligence—and it is the primary tool being used to predict the consequences of its actions, then compression progress (smaller or faster), would translate into increased intelligence. It would help the machine to better predict the consequences of its possible actions, and/or to act more quickly.
What techniques does he use that teach us something that could be useful for GAI?
Alas, delving in is beyond the scope of this comment.
Your arguments seem to be more inside-view than mine, so I will update my estimates in favour of your point.
I got something from you too. One of the problems with a compression-based approach to machine intelligence is that so far, it hasn’t been very popular. There just aren’t very many people working on it.
Compression is a tough traditional software engineering problem. It seems relatively unglamourous—and there are some barriers to entry, in the form of a big mountain of existing work. Building on that work might not be the most direct way towards the goal—but unless you do that, you can’t easily make competitive products in the field.
Sequence prediction (via stream compression) still seems like the number 1 driving problem to me—and a likely path towards the goal—but some of the above points do seem to count against it.
How to compress is one question. How to tree-prune is a second, and what values machines should have is a third.
What I didn’t realise—until fairly recently—is the extent to which the first problem is key. It appears that can be usefully be factored out and solved independently.
General-purpose stream compression is a fairly specific computer science problem. However, it is true that we still need to figure out how to do it well.
Having a very detailed understanding of general patterns in English gives you almost as much compression of a textbook as the additional ability to fully understand the subject matter. How does progress on the first ability get us closer to GAI?
You need general purpose compression—not just text compression—if you are being general.
Matt explains why compression is significant here.
Obviously the quality of the model depends on the degree of compression. Poorer compression results in reduced understanding of the material.
In the link, he proves that optimal compression is equivalent to AI. He gives no reason why improving compression is the best approach to developing AI. The OP asked what areas of AI study are useful, not which ones would work in principle. You may have evidence that this is the best approach in practice, but you have not presented it yet.
I don’t actually think that compression is equivalent to intelligence. However, it is pretty close!
My main presentation in that area is in the first of the links I gave:
http://timtyler.org/machine_forecasting/
Brief summary:
I don’t know that it is the best approach in practice—just that it looks like a pretty promising one.
It is not clear to me that what we are measuring is progress. We are definitely improving something, but that does not necessarily get us closer to GAI. Different algorithms could have very different compression efficiencies on different types of data. Some of these may require real progress toward AI, but many types of data can be compressed significantly with little intelligence. A program that could compress any type of non-random data could be improved significantly just by focusing on thing that are easy to predict.
It is not clear to me that what we are measuring is progress.
Compression ratio, on general Occamian data defined w.r.t a small reference machine. If in doubt, refer to Shane Legg: http://www.vetta.org/publications/
Not by very much usually, if there is lots of data. Powerful general purpose compressors would actually work well.
Anyway, that is the idea—to build a general purpose Occamian system—not one with lots of preconceptions. Non-Occamian preconceptions don’t buy that much and are not really needed—if you are sufficiently smart and have a little while to look at the world and see what it is like.
Huffman encoding also works very well in many cases. Obviously you cannot compress any compressible data without GAI, but there are no programs in existence that can compress any compressible data and things like Huffman encoding do make numerical progress in compression, but they do not represent any real conceptual progress. Do you know of any compression programs that make conceptual progress toward GAI? If not, then why do you think that focusing on the compression aspect is likely to provide such progress?
Huffman coding dates back to 1952 - it has been replaced by othehr schemes in size-sensitive applications.
Alexander Ratushnyak seems to be making good progress—see: http://prize.hutter1.net/
I realize that Huffman coding is outdated, I was just trying to make the point that compression progress is possible without AI progress.
Do you have Alexander Ratushnyak’s source code? What techniques does he use that teach us something that could be useful for GAI?
If you have a compressor that isn’t part of a machine intelligence, or is part of a non-state of the art machine intelligence, then that is likely to be true.
However, if your compressor is in a state of the art machine intelligence—and it is the primary tool being used to predict the consequences of its actions, then compression progress (smaller or faster), would translate into increased intelligence. It would help the machine to better predict the consequences of its possible actions, and/or to act more quickly.
That is available here.
Alas, delving in is beyond the scope of this comment.
Your arguments seem to be more inside-view than mine, so I will update my estimates in favour of your point.
I got something from you too. One of the problems with a compression-based approach to machine intelligence is that so far, it hasn’t been very popular. There just aren’t very many people working on it.
Compression is a tough traditional software engineering problem. It seems relatively unglamourous—and there are some barriers to entry, in the form of a big mountain of existing work. Building on that work might not be the most direct way towards the goal—but unless you do that, you can’t easily make competitive products in the field.
Sequence prediction (via stream compression) still seems like the number 1 driving problem to me—and a likely path towards the goal—but some of the above points do seem to count against it.