[squeak-dev] neural net in Squeak?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
17 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] neural net in Squeak?

JOHN VOIKLIS
Hello,

As part of my research on human concept learning, I've had start
working with neural net models. After trying to muddle through with
programming languages that I do not really know or understand (e.g.
C++ and Java), I have decided to come back to Squeak. The problem is
that, even in Squeak, I am better at hacking and repurposing other
people's code than at creating something entirely new. So, I am
writing to learn if anyone has implemented any neural net models in
Squeak and, if so, would those people be willing to share any such
implementation.

Thanks,

John

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] neural net in Squeak?

Igor Stasenko
2009/7/8 JOHN VOIKLIS <[hidden email]>:

> Hello,
>
> As part of my research on human concept learning, I've had start
> working with neural net models. After trying to muddle through with
> programming languages that I do not really know or understand (e.g.
> C++ and Java), I have decided to come back to Squeak. The problem is
> that, even in Squeak, I am better at hacking and repurposing other
> people's code than at creating something entirely new. So, I am
> writing to learn if anyone has implemented any neural net models in
> Squeak and, if so, would those people be willing to share any such
> implementation.
>
I think some of it could be useful to you:

http://lmgtfy.com/?q=squeak+smalltalk+neural+networks

http://sourceforge.net/projects/fann/files/fann/FANN-Squeak.0.2.zip/download

sorry , just can't resist :)

> Thanks,
>
> John
>
>



--
Best regards,
Igor Stasenko AKA sig.

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] neural net in Squeak?

Herbert König
In reply to this post by JOHN VOIKLIS
Hello JOHN,

WJV> that, even in Squeak, I am better at hacking and repurposing other
JV> people's code than at creating something entirely new. So, I am
JV> writing to learn if anyone has implemented any neural net models in
JV> Squeak and, if so, would those people be willing to share any such
JV> implementation.

right now I'm too lazy to search but there is a fann library binding
for Squeak and Luciano Notarfrancesco has implemented neural nets in
Squeak and I myself dabbled in neural nets.

What I use (commercially) is only a SOFM and I did my implementations
using FloatArrays for speed. This is not good for "repurposing" as
it's not general and implementation is obscured to accommodate
FloatArray.

I can share parts of my implementation, the other ones could be found
on the net.

Cheers,

Herbert                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] neural net in Squeak?

JOHN VOIKLIS
In reply to this post by Igor Stasenko
Cute apps, but I DID try google. The results turn up mostly garbage;
the words "squeak" and "neural"  and "network" simply happen to appear
on the same page.

As for FANN: I also looked at that but without even a hint of
(findable) documentation, it is less useful to me than the C++ and
Java implemented model.

Anyway, I turned to the list because I need human-to-human advice.

Thanks anyway--J

On Wed, Jul 8, 2009 at 4:15 PM, Igor Stasenko<[hidden email]> wrote:

> 2009/7/8 JOHN VOIKLIS <[hidden email]>:
>> Hello,
>>
>> As part of my research on human concept learning, I've had start
>> working with neural net models. After trying to muddle through with
>> programming languages that I do not really know or understand (e.g.
>> C++ and Java), I have decided to come back to Squeak. The problem is
>> that, even in Squeak, I am better at hacking and repurposing other
>> people's code than at creating something entirely new. So, I am
>> writing to learn if anyone has implemented any neural net models in
>> Squeak and, if so, would those people be willing to share any such
>> implementation.
>>
> I think some of it could be useful to you:
>
> http://lmgtfy.com/?q=squeak+smalltalk+neural+networks
>
> http://sourceforge.net/projects/fann/files/fann/FANN-Squeak.0.2.zip/download
>
> sorry , just can't resist :)
>
>> Thanks,
>>
>> John
>>
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
>

Reply | Threaded
Open this post in threaded view
|

Re[2]: [squeak-dev] neural net in Squeak?

Herbert König
Hello JOHN,


JV> As for FANN: I also looked at that but without even a hint of
JV> (findable) documentation, it is less useful to me than the C++ and
JV> Java implemented model.

http://surfnet.dl.sourceforge.net/sourceforge/fann/fann_doc_complete_1.0.pdf

Cheers,

Herbert                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] neural net in Squeak?

JOHN VOIKLIS
In reply to this post by Herbert König
Thanks for the advice. You are right that I need something general and
not opaque.

I should clarify for everyone that, as an experimental psychologist, I
am only interested in machine learning for the purposes of mimicking
human behavior (including all its failings).

I don't need anything fast or optimized, just functional and transparent.

2009/7/8 Herbert König <[hidden email]>:

> Hello JOHN,
>
> WJV> that, even in Squeak, I am better at hacking and repurposing other
> JV> people's code than at creating something entirely new. So, I am
> JV> writing to learn if anyone has implemented any neural net models in
> JV> Squeak and, if so, would those people be willing to share any such
> JV> implementation.
>
> right now I'm too lazy to search but there is a fann library binding
> for Squeak and Luciano Notarfrancesco has implemented neural nets in
> Squeak and I myself dabbled in neural nets.
>
> What I use (commercially) is only a SOFM and I did my implementations
> using FloatArrays for speed. This is not good for "repurposing" as
> it's not general and implementation is obscured to accommodate
> FloatArray.
>
> I can share parts of my implementation, the other ones could be found
> on the net.
>
> Cheers,
>
> Herbert                            mailto:[hidden email]
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Re[2]: [squeak-dev] neural net in Squeak?

JOHN VOIKLIS
In reply to this post by Herbert König
Thanks again...I don't remember if I saw this document before, but
I'll see if it actually gets me up and running in squeak.

I continue to welcome all other suggestions.

2009/7/8 Herbert König <[hidden email]>:

> Hello JOHN,
>
>
> JV> As for FANN: I also looked at that but without even a hint of
> JV> (findable) documentation, it is less useful to me than the C++ and
> JV> Java implemented model.
>
> http://surfnet.dl.sourceforge.net/sourceforge/fann/fann_doc_complete_1.0.pdf
>
> Cheers,
>
> Herbert                            mailto:[hidden email]
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: Re[2]: [squeak-dev] neural net in Squeak?

JOHN VOIKLIS
Trying FANN again, I realize the problem wasn't documentation but the
fact that I couldn't figure out how to get it loaded and running in
Squeak. That problem persists. The download includes a .mcz file,
which I believe is a kind of package file introduced after my time in
the Squeak community. Any advice?

Thanks again.

On Wed, Jul 8, 2009 at 4:47 PM, JOHN VOIKLIS<[hidden email]> wrote:

> Thanks again...I don't remember if I saw this document before, but
> I'll see if it actually gets me up and running in squeak.
>
> I continue to welcome all other suggestions.
>
> 2009/7/8 Herbert König <[hidden email]>:
>> Hello JOHN,
>>
>>
>> JV> As for FANN: I also looked at that but without even a hint of
>> JV> (findable) documentation, it is less useful to me than the C++ and
>> JV> Java implemented model.
>>
>> http://surfnet.dl.sourceforge.net/sourceforge/fann/fann_doc_complete_1.0.pdf
>>
>> Cheers,
>>
>> Herbert                            mailto:[hidden email]
>>
>>
>>
>

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] neural net in Squeak?

CdAB63
In reply to this post by Igor Stasenko
Em 08-07-2009 17:15, Igor Stasenko escreveu:
2009/7/8 JOHN VOIKLIS [hidden email]:
  
Hello,

As part of my research on human concept learning, I've had start
working with neural net models. After trying to muddle through with
programming languages that I do not really know or understand (e.g.
C++ and Java), I have decided to come back to Squeak. The problem is
that, even in Squeak, I am better at hacking and repurposing other
people's code than at creating something entirely new. So, I am
writing to learn if anyone has implemented any neural net models in
Squeak and, if so, would those people be willing to share any such
implementation.

    
I think some of it could be useful to you:

http://lmgtfy.com/?q=squeak+smalltalk+neural+networks

http://sourceforge.net/projects/fann/files/fann/FANN-Squeak.0.2.zip/download

sorry , just can't resist :)

  
Thanks,

John


    



  
If you're working in Linux box the link is: http://sourceforge.net/projects/fann/files/fann/FANN-Squeak-Linux.mcz/download

CdAB


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] neural net in Squeak?

JOHN VOIKLIS
Thanks; the problem is that all machines in my lab are now Macs.

--J

> If you're working in Linux box the link is:
> http://sourceforge.net/projects/fann/files/fann/FANN-Squeak-Linux.mcz/download
>
> CdAB
>
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] neural net in Squeak?

CdAB63
In reply to this post by JOHN VOIKLIS
Em 08-07-2009 17:36, JOHN VOIKLIS escreveu:
Cute apps, but I DID try google. The results turn up mostly garbage;
the words "squeak" and "neural"  and "network" simply happen to appear
on the same page.

As for FANN: I also looked at that but without even a hint of
(findable) documentation, it is less useful to me than the C++ and
Java implemented model.
  
Docs can be found at: http://leenissen.dk/fann/html/files/fann-h.html
Squeak bindings for Linux cover all libfann with the exception of callback functions. I've been working with it whithout problems.
Things like: fann_create_shortcut_array() will be: apiFannCreateShortcutArray: numberOfLayers with: anArrayWithNeuronsPerLayer
Just browse Fann and get things done.

Windows bindings doesn't have many of the functions. But I don't work with Windows or any kind of Microsoft stuff so I'll be of little help there...
Anyway, I turned to the list because I need human-to-human advice.

Thanks anyway--J

On Wed, Jul 8, 2009 at 4:15 PM, Igor Stasenko[hidden email] wrote:
  
2009/7/8 JOHN VOIKLIS [hidden email]:
    
Hello,

As part of my research on human concept learning, I've had start
working with neural net models. After trying to muddle through with
programming languages that I do not really know or understand (e.g.
C++ and Java), I have decided to come back to Squeak. The problem is
that, even in Squeak, I am better at hacking and repurposing other
people's code than at creating something entirely new. So, I am
writing to learn if anyone has implemented any neural net models in
Squeak and, if so, would those people be willing to share any such
implementation.

      
I think some of it could be useful to you:

http://lmgtfy.com/?q=squeak+smalltalk+neural+networks

http://sourceforge.net/projects/fann/files/fann/FANN-Squeak.0.2.zip/download

sorry , just can't resist :)

    
Thanks,

John


      

--
Best regards,
Igor Stasenko AKA sig.


    


  
CdAB


Reply | Threaded
Open this post in threaded view
|

Re[4]: [squeak-dev] neural net in Squeak?

Herbert König
In reply to this post by JOHN VOIKLIS
Hello JOHN,

JV> Trying FANN again, I realize the problem wasn't documentation but the
JV> fact that I couldn't figure out how to get it loaded and running in
JV> Squeak. That problem persists. The download includes a .mcz file,
JV> which I believe is a kind of package file introduced after my time in
JV> the Squeak community. Any advice?

open the mcz with a file list or drag it on the squeak window or from
the world menu open the Momticello browser.

Mcz is a zipped file (which you can unzip and find sources). It's
generated by Monticello, which is Squeak's versioning system like CVS
or subversion are for other systems.

Monticello allows to load, merge, view changes or browse code.

Dunno if the FANN bindings work on Mac.


Cheers,

Herbert                            mailto:[hidden email]


Reply | Threaded
Open this post in threaded view
|

Re: Re[4]: [squeak-dev] neural net in Squeak?

JOHN VOIKLIS
Ok, so it looks like FANN is all there is...though, it seems that I
either need to acquire/set up a linux machine or, again, switch to
another programming language...too bad.

At least, now, I am fully aware that FANN is well documented...that's
at least some progress.

Thanks again--J

2009/7/8 Herbert König <[hidden email]>:

> Hello JOHN,
>
> JV> Trying FANN again, I realize the problem wasn't documentation but the
> JV> fact that I couldn't figure out how to get it loaded and running in
> JV> Squeak. That problem persists. The download includes a .mcz file,
> JV> which I believe is a kind of package file introduced after my time in
> JV> the Squeak community. Any advice?
>
> open the mcz with a file list or drag it on the squeak window or from
> the world menu open the Momticello browser.
>
> Mcz is a zipped file (which you can unzip and find sources). It's
> generated by Monticello, which is Squeak's versioning system like CVS
> or subversion are for other systems.
>
> Monticello allows to load, merge, view changes or browse code.
>
> Dunno if the FANN bindings work on Mac.
>
>
> Cheers,
>
> Herbert                            mailto:[hidden email]
>
>
>

Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] neural net in Squeak?

CdAB63
Em 08-07-2009 22:09, JOHN VOIKLIS escreveu:
Ok, so it looks like FANN is all there is...though, it seems that I
either need to acquire/set up a linux machine or, again, switch to
another programming language...too bad.

At least, now, I am fully aware that FANN is well documented...that's
at least some progress.

Thanks again--J
  
I'd give a try at FANN-Linux-bindings at MacOS... I didn't try that but it may work... People who developed for MacOS could help...
But it's not hard to make it fit to MacOS (enough to edit things at FannInterface so call conventions match MacOS.
2009/7/8 Herbert König [hidden email]:
  
Hello JOHN,

JV> Trying FANN again, I realize the problem wasn't documentation but the
JV> fact that I couldn't figure out how to get it loaded and running in
JV> Squeak. That problem persists. The download includes a .mcz file,
JV> which I believe is a kind of package file introduced after my time in
JV> the Squeak community. Any advice?

open the mcz with a file list or drag it on the squeak window or from
the world menu open the Momticello browser.

Mcz is a zipped file (which you can unzip and find sources). It's
generated by Monticello, which is Squeak's versioning system like CVS
or subversion are for other systems.

Monticello allows to load, merge, view changes or browse code.

Dunno if the FANN bindings work on Mac.


Cheers,

Herbert                            [hidden email]



    


  



Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] neural net in Squeak?

cedreek
In reply to this post by JOHN VOIKLIS
Hi

2009/7/8 JOHN VOIKLIS <[hidden email]>:
> Thanks for the advice. You are right that I need something general and
> not opaque.
>
> I should clarify for everyone that, as an experimental psychologist, I
> am only interested in machine learning for the purposes of mimicking
> human behavior (including all its failings).
>

An interesting machine learning technique in that purpose is NARS

http://nars.wang.googlepages.com/
http://code.google.com/p/open-nars/

I started to port the java prototype:
http://www.squeaksource.com/NARSqueak.html

hth,


> I don't need anything fast or optimized, just functional and transparent.
>
> 2009/7/8 Herbert König <[hidden email]>:
>> Hello JOHN,
>>
>> WJV> that, even in Squeak, I am better at hacking and repurposing other
>> JV> people's code than at creating something entirely new. So, I am
>> JV> writing to learn if anyone has implemented any neural net models in
>> JV> Squeak and, if so, would those people be willing to share any such
>> JV> implementation.
>>
>> right now I'm too lazy to search but there is a fann library binding
>> for Squeak and Luciano Notarfrancesco has implemented neural nets in
>> Squeak and I myself dabbled in neural nets.
>>
>> What I use (commercially) is only a SOFM and I did my implementations
>> using FloatArrays for speed. This is not good for "repurposing" as
>> it's not general and implementation is obscured to accommodate
>> FloatArray.
>>
>> I can share parts of my implementation, the other ones could be found
>> on the net.
>>
>> Cheers,
>>
>> Herbert                            mailto:[hidden email]
>>
>>
>>
>
>



--
Cédrick

Reply | Threaded
Open this post in threaded view
|

Re: Re[4]: [squeak-dev] neural net in Squeak?

Cameron Sanders-2
In reply to this post by JOHN VOIKLIS
John,

A basic synchronous feed-forward model (with back propagation  
training) isn't that hard to write and/or translatefrom another  
language. I found an example written in Python a number of years ago  
that is only about 50 lines of code (for 3-tier net) -- you could  
rewrite that in Squeak, add a sane class hierarchy (that would be  
mostly empty at first), generalize the topology, add the higher level  
driving methods, and do the basic debugging in pretty short-order.

But is that enough? You are interested in human learning, so perhaps  
you actually want asynchronous updates, or something in between.  
(don't ask... i am not certain I can put it to words without spending  
too much time.)

It is worth considering. I probably will build a limited toolkit in  
smalltalk within a year... but not today.

How large of a net are you wanting to work with? What kind of human  
processing are you wanting to observe? I am thinking about performance  
with these questions. If you want a large network, then one probably  
needs to use an external library.

The over-training warnings are worth paying attention to: do not force  
the system to fit a small data set exactly, and do use too many nodes  
for the problem.

--
Python is dead-simple to work with. It is very flexible. It is  
typeless and has garbage collection, but uses c-like expressions in  
many cases. so... using FANN with the Python may not be as difficult  
as you think. I installed XCode here on this Mac (my first mac) and  
python and numerous other languages are ready-to-use as a result -- or  
maybe they were here before, but now I have the folding code browser  
for it. XCode is free from Apple.

Good Luck and please let us know if you find a great turn-key solution!

Cheers,
Cam


Reply | Threaded
Open this post in threaded view
|

Re: Re[4]: [squeak-dev] neural net in Squeak?

JOHN VOIKLIS
Hi Cam,

I am starting to think that the solution you propose may be best. Most
of the NN models of human category learning look fairly simple, with
3-5 tiers depending on whether they include an attention-learning tier
or name-learning tier in addition to the object-learning tier. I have
found a Python version of the SUSTAIN learning model and I am looking
for a Python version of ALCOVE learning model. With some help from
their original authors, I might be able to port these.

Thanks for your help...if you are willing, I may have a question or
two for you off list.

Thanks again--J

On Thu, Jul 9, 2009 at 5:38 PM, Cameron
Sanders<[hidden email]> wrote:

> John,
>
> A basic synchronous feed-forward model (with back propagation training)
> isn't that hard to write and/or translatefrom another language. I found an
> example written in Python a number of years ago that is only about 50 lines
> of code (for 3-tier net) -- you could rewrite that in Squeak, add a sane
> class hierarchy (that would be mostly empty at first), generalize the
> topology, add the higher level driving methods, and do the basic debugging
> in pretty short-order.
>
> But is that enough? You are interested in human learning, so perhaps you
> actually want asynchronous updates, or something in between. (don't ask... i
> am not certain I can put it to words without spending too much time.)
>
> It is worth considering. I probably will build a limited toolkit in
> smalltalk within a year... but not today.
>
> How large of a net are you wanting to work with? What kind of human
> processing are you wanting to observe? I am thinking about performance with
> these questions. If you want a large network, then one probably needs to use
> an external library.
>
> The over-training warnings are worth paying attention to: do not force the
> system to fit a small data set exactly, and do use too many nodes for the
> problem.
>
> --
> Python is dead-simple to work with. It is very flexible. It is typeless and
> has garbage collection, but uses c-like expressions in many cases. so...
> using FANN with the Python may not be as difficult as you think. I installed
> XCode here on this Mac (my first mac) and python and numerous other
> languages are ready-to-use as a result -- or maybe they were here before,
> but now I have the folding code browser for it. XCode is free from Apple.
>
> Good Luck and please let us know if you find a great turn-key solution!
>
> Cheers,
> Cam
>
>
>