From: David C. <ne...@ci...> - 2003-11-30 16:38:53
|
On Sunday 30 of November 2003 10:23, Andreas Grau wrote: > I changed inasmuch as I begin to thing off memaid as a recalling-aid, > not so much a learning tool. memaid keeps knowledge active, there often > needs to be a learning process before - where memaid may or may not help > well. In my restaurant example, it doesn't help much if I don't feed > this vocabulary into a separate database using low grades to enforce > frequent and focused repetition (aka drilling exercise) I am not sure if I get you here, but I definitely don't agree with last sentence. You shouldn't have to "enforce" anything. It's MemAid role to guess how difficult every item is and schedule accordingly! Especially new code I am working on - among other things it will have a smart "Finall Drill" feature that will work automagically, and there will be no normal "Finall Drill" - everything should be automated and it is MemAid 'who' should worry about enforcing and proper scheduling repetitions, not human. (Normal "Finall Drill" sux, mainly because you alter, in a way, learning process manually. Also because all "badly known" items are not intermixed with other items, which ... is bad, trust me. New automatical "Final Drill" will have support in ANN itself, and it's ANN-MemAid who will decide which items go to the "Final Drill". These elements, from "auto-final drill", will be intermixed, in a smart way, with current scheduled repetitions. It will have many benefits...) I consider putting elements into different databases (or "categories"), and keeping separate ANN for each own a bad idea. Now, I understand one may be interested in having a higher retention rate for particular items (e.g. specific category) - and only "retention rate" should be in MemAid's options to set (not difficulty of specific items - MemAid should handle well elements with very various difficulty). Currently there is no "retention rate" option thus. MemAid just sticks to the default - most optimal, for every item, but this (aimed "retention rate") is one of the features I want to see implemented. > In the fox code, you use user input time to train the net for 2 seconds, It's actually only 1 second, IIRC. (Was changed from 2 secs since time ago.) > so it get's trained quite often and for a rather big total of seconds. > For kmemaid, this get's done only once on exit (or when saving), but for > a maximum of 10 secs. So a first sight it seems that kmemaid doesn't > spend as much time training the net. Would this be a favourable thing to > change within kmemaid? How important is training time? I would say it's very important. But the more important is to turn on training ANN at all - from time to time. Without training ANN doesn't learn about an user's memory and user's personal accustoms (e.g. one may use grades in a bit different way). And I say that neither 1 second per item, nor 10 second per session, is generally suffice to learn ANN about just added data *immediately*, even with most fastest CPUs currently available. But it's suffice to have peace of mind that ANN will "get your memory model", after all. The main problem I see - here in KMemAid - that if most sessions are very long (e.g. 200 items, or a person often doesn't turn of KmemAid at all), then these 10 seconds... could be... well, a bit short. I would personally use (like in first MemAid versions) background training ANN in a thread, but I resigned from it in Fox version, as Fox Toolkit doesn't provide any portable threads. -- David Calinski http://neodave.civ.pl |