<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Neural Network Design blog &#187; update</title>
	<atom:link href="http://janbogaerts.name/index.php/tag/update/feed/" rel="self" type="application/rss+xml" />
	<link>http://janbogaerts.name</link>
	<description>My take on neural networks, AI and more</description>
	<lastBuildDate>Wed, 28 Jul 2010 18:21:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>AICI chat client</title>
		<link>http://janbogaerts.name/index.php/2010/06/03/aici-chat-client/</link>
		<comments>http://janbogaerts.name/index.php/2010/06/03/aici-chat-client/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 13:09:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[AICI]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2010/06/03/aici-chat-client/</guid>
		<description><![CDATA[I’ve released a new version of the chat client which has the latest AICI network. I would greatly appreciate it if you would mail me or post log transcripts of things that go wrong, or are strange in any way.    Thanks.
]]></description>
			<content:encoded><![CDATA[<p>I’ve released a new version of the chat client which has the latest AICI network. I would greatly appreciate it if you would mail me or post log transcripts of things that go wrong, or are strange in any way.    <br />Thanks.</p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2010/06/03/aici-chat-client/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neural network designer 0.4</title>
		<link>http://janbogaerts.name/index.php/2010/04/27/neural-network-designer-0-4/</link>
		<comments>http://janbogaerts.name/index.php/2010/04/27/neural-network-designer-0-4/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 13:40:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Updates]]></category>
		<category><![CDATA[releases]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2010/04/27/neural-network-designer-0-4/</guid>
		<description><![CDATA[Finally, it’s time for a new release. Most of the changes are in the backend this time, though there are a few visual changes. So here goes:
What’s new
Designer and core

The storage system has been updated to a binary, flat file structure, which improves the operation speed  considerably in all areas. This essentially makes the [...]]]></description>
			<content:encoded><![CDATA[<p>Finally, it’s time for a new release. Most of the changes are in the backend this time, though there are a few visual changes. So here goes:</p>
<h4>What’s new</h4>
<h5>Designer and core</h5>
<ul>
<li>The storage system has been updated to a binary, flat file structure, which improves the operation speed <a href="http://janbogaerts.name/wp-content/uploads/2010/04/image.png"><img style="border-right-width: 0px; margin: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" align="right" src="http://janbogaerts.name/wp-content/uploads/2010/04/image_thumb.png" width="199" height="299" /></a> considerably in all areas. This essentially makes the core a true database system, which should be fairly easily scaled (see thesaurus demo project), even over multiple hardware systems (eventually). </li>
<li>I&#160; have finally implemented the namespaces. These are currently maintained in the background, so you don&#8217;t need to worry about them. The only change you’ll notice, is an improved browser popup in the frame and flow editors (see image). Basically, the thesaurus, timers and all the project editors (with their entry points) are included and automatically updated. </li>
<li>The frame editor has been updated a bit cause the previous datagrid didn’t handle the custom namespace selection object. So back to listview for the frame elements (will be updated when the datagrid is fixed). </li>
<li>I have also added a new restriction type for frame elements: a custom filter, which allows you to do determine the filter result through code. </li>
<li>Support for modules has also been included, though not yet properly tested, so the imports will definitely not yet work. </li>
<li>The speed increase brought some more threading issues to light, I hope they are now solved, but one or two things can still pop up here or there. </li>
<li>Somehow, I managed to show the thesaurus in reversed order (so the view for the hypernyms was showing that of the hyponyms). While fixing that, I also tried to get it to work with an arbitrary number of elements (so you can also browse a huge thesaurus, the search hasn’t yet been updated though). </li>
<li>The thesaurus can now also be built automatically, based on the content of the database. </li>
<li>I have added a dialog to remove clusters that have no children, based on the ‘remove orphans’ dialog. This will probably grow out to a general purpose query window, but that’s for the next version. </li>
<li>New instructions (some were long overdue):
<ul>
<li>Substract: remove 1 or more neurons from a set, contained by a variable or global </li>
<li>Select: perform a filter on the content of a variable or global. </li>
<li>Remove Links In: removes all the incoming links of a neuron that have a specified meaning. </li>
<li>Remove links out: same as ‘Remove Links In’, but for the outgoing links. These 2 instructions allow you to do without an extra loop, which makes it all more thread save and faster. </li>
<li>GetAt: retrieves the neuron at a specified index in the content of a variable/global. </li>
</ul>
</li>
<li>I have changed the parameters of the split instruction a little bit: I have removed the ‘result cluster’ which was originally used to retrieve the results of a split. This worked ok, but could cause problems when multiple users would be performing the exact same algorithm. The solution was to simply use the already existing ‘GetSplitResults’ function, which now also works after the split (and not just when the split is still running). This means that you manually need to clear the split result cache once you are done with it, otherwise the next split will give some bogus results. </li>
<li>I have also removed the possibility to assign a weight value to a single neuron. Instead you now assign it to the entire processor. This will assign it’s weight to all of it’s result values when it is done. This way, you can change the weight before you know the actual result. </li>
<li>Attached neurons are working. </li>
<li>some cosmetical touch-ups here and there. </li>
<li>Lots of other bug fixes. </li>
</ul>
<h5>AICI</h5>
<p>The aici network demo is slowly starting to function. That is, it is beginning to record data into understandable structures. Though it’s still very early, so lots of stuff still goes wrong or hasn’t yet been implemented. Some fun responses guaranteed. Here are the major changes:</p>
<ul>
<li>I’ve managed to simplify the flow recognition algorithm (while fixing some tough bugs), so no more synchronization points for the loops. The designer still allows to change this prop at the moment, but this will be removed soon.&#160; Don’t worry about existing values, they are simply skipped, no longer used. </li>
<li>Some bugs in the frame recognition section have also been solved. </li>
<li>I have implemented a first version of the noun path resolver algorithm. This is used to understand statements like ‘my brother’s sister’, ‘I’, ‘my favorite car’, ‘sister in law’. This algorithm is also responsible for generating new ‘<em>compound words</em>’, like ‘brother in law’. </li>
<li>Compound words are recognized again, at different stages. Some compounds can’t be recognized yet (if they have verbs). </li>
<li>New frames:
<ul>
<li>Be-unknown noun: sentences with an agent, be verb and a possible noun. Example sentences: I am Jan. It is a cat. My name is Jan. I was Jan. It will be a cat. (preconditions: Jan and cat are not yet&#160; in the network). The frame is triggered when it receives a sentence that might contain a noun, and there is an open question that can consume this value. </li>
<li>some more, to much to write all down.</li>
</ul>
</li>
<li>If AICI knows several different synonyms for the same word, it will now mimic your preferred one. So if you just said ‘bye’, it will also say ‘bye’ next time. If you say ‘goodbye’ next, it will switch to this. </li>
<li>I have introduced the concept of ‘attributes’. These provide an extra step in the semantics stage. For instance, ‘<em>color</em>’ is an attribute. It’s possible values are: blue, red, black, white, green,… Color is a special attribute, since it changes meaning when applied to different types of subjects. For instance, the sentence: ‘I am blue’ usually means: ‘I am a bit down’. So that’s the semantic part: an attribute can inspect to who it is applied and, when needed, can change the attribute, the owner or the value.&#160; </li>
</ul>
<p>The latest release can be downloaded from <a href="http://www.janbogaerts.name/files/setup.exe" target="_blank">here</a>, or from the main menu.</p>
</p>
</p>
<h4>Coming up</h4>
<p>Next in line will be the editor views (finally). These are currently built using standard WPF controls (listboxes, treeviews,…), which are, well, not performing as desired: they generally can’t handle more than 2-300 items (if you can’t use virtualization) and, more importantly, have a hardcoded recursion limit that causes serious problems, primarily in the code editor. So I need some custom controls to get the speed and reliability up. </p>
<p>Before this though, I will be spending a little more time with AICI. The algorithms are beginning to work the way I want them to, so it’s time to complete the flows, in order to get a larger part of the English language parsed. And off course, I will be adding a bunch of new frames, actions and attributes.</p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2010/04/27/neural-network-designer-0-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deadlocks and DotNet</title>
		<link>http://janbogaerts.name/index.php/2009/06/28/deadlocks-and-dotnet/</link>
		<comments>http://janbogaerts.name/index.php/2009/06/28/deadlocks-and-dotnet/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 18:56:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[N²D]]></category>
		<category><![CDATA[Updates]]></category>
		<category><![CDATA[deadlocks]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://janbogaerts.name/index.php/2009/06/28/deadlocks-and-dotnet/</guid>
		<description><![CDATA[Well, that bear (you know, the deadlocks) turned out to be a formidable grizzly. Now, I don’t know about you, but me, when I see a monster like that, I turn around and run… I can assure you, there’s nothing better than a fierce predator on your tail to streamline things.&#160; First to go was [...]]]></description>
			<content:encoded><![CDATA[<p>Well, that bear (you know, <a href="http://janbogaerts.name/index.php/2009/06/03/nnd-011-released/" target="_blank">the deadlocks</a>) turned out to be a formidable grizzly. Now, I don’t know about you, but me, when I see a monster like that, I turn around and run… I can assure you, there’s nothing better than a fierce predator on your tail to streamline things.&#160; First to go was .net’s WeakReference pattern.&#160; This simply couldn’t keep up with the engine (a change that touched every part of the designer: all editors, toolbox, explorer, thesaurus, timers,…). Next was the ReaderWriterLockSlim thingy (used to protect data blocks from corruption), which has a very peculiar definition of slim: you have no idea how many times I have seen my RAM blown up because of a simple integer scan. Lots of other stuff got tuned up or hacked out as well, so the expected update has arrived.</p>
<p>The engine appears to be stabling out, although it is still acting fishy on single core machines, where there are errors I don’t have on my multi core dev system, so I need to move to a different machine to test this out. The designer is also still very much lingering behind the engine when this is processing at full speed, but the UI should remain responsive now.</p>
<p>I have also included an extra demo project called ‘<em>Scanner</em>’. It is able to transform an input stream containing integers, representing characters, into words and numbers (ints and doubles).&#160; This doesn’t seem much, and it isn’t, except that it is doing this using a couple of flows and a general purpose algorithm (processing is still slow, mostly because the UI is trying to catch up).&#160; This was the guts of the older ‘<em>English language definition</em>’ demo, which I have split into 2: the scanner and the language definition, which is no longer able to do any processing (all code removed). It’s an example of a more complex flow.</p>
<p>The scanner demo also has the <em>number scanning problem</em> fixed (numbers longer than 2 came out with multiple results). This appeared to be caused by deleting a couple of neurons to many (in the scanning algorithm).&#160; I had already experienced the dangers of deleting neurons I thought were no longer used, but which were because of the splits. I will probably have to implement some sort of a garbage collection system to clean up unused neurons (but that’s for later).</p>
<p>Anyway, here’s the latest <a href="http://www.janbogaerts.name/files/setup.exe" target="_blank">download</a> (best to remove previous installation before installing this one).</p>
]]></content:encoded>
			<wfw:commentRss>http://janbogaerts.name/index.php/2009/06/28/deadlocks-and-dotnet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
