Clustering Test 7

Posted: April 15, 2013 at 5:47 pm

Following are a few plots of the performance of the last test (20,000 frames, 1500 clusters). The most important observation is that it is not at all the clustering that causes increasing processing times, but the actual rendering itself.

20000_debug_1500clusters

Most fields are the same, except for the addition of the renderTime, which spikes early on and ends up taking nearly 9s to render each frame at the end of the test. The following plot shows the corresponding processing time for clustering and segmentation:

20000_debug_1500clusters-clustersegmenterTime

Note the very strong correlation between clustering and segmentation, which makes sense as both are determined by the number of newly segmented percepts. Note the similarity between these plots and the number of scratch background percepts in the first plot. The lesson is clearly that the time taken to render each frame is quite problematic and needs to be reconsidered. Of course this information is exaggerated by the fact that the system is dumping rendered images to disk, still render time should not be increasing over a run.

Following is a histogram of the number of merges for each percept and the mean of their masks. The mean value of the masks is meant to be a measure of the percept’s degree of confidence. A percept that merges many highly diverse regions is likely to lack stability in the edges, and therefore will contain little white. A percept that merges highly similar regions (in terms of their segmented outline) would have stronger edges and also a higher mean value.

20000_debug_1500clusters_summary_hist

Following are plots of all percept units created by the end of the test, where the top image is the foreground and the bottom the background. They are sorted according to the confidence, such that the upper left unit has the lowest mean / confidence and the lower right has the highest.

maskMeanFG.montage-scaled maskMeanBG.montage-scaled

Following are close-ups of a selection of 10 the weakest and strongest foreground and background percepts. Top: Foreground percepts with least confidence; Middle Top: Foreground percepts with most confidence; Middle Bottom: Background percepts with least confidence; Bottom: Background percepts with most confidence.

maskMeanFG.montage-10_weakest

maskMeanFG.montage-10_strongest

maskMeanBG.montage-10_weakest

maskMeanBG.montage-10_strongest

This is the first time we’ve been able to look at the set of percepts generated by the system. The amount of redundancy is a surprise, but makes sense as for each frame percepts are only merged with their nearest clusters. At no time are clusters themselves merged together. Merging clusters is certainly possible and would be a solution to the obvious redundancy in these percepts. It may also open the door to theories of dreaming that involve memory consolidation. Up to this point I’ve been thinking of memory consolidation as the removal of weak links, but the merging of clusters could also be appropriate. This reduction could also be useful to reduce the complexity of the yet to be determined RL.