First off, a disclaimer: I’m not sure if this is the right Stack Exchange for this question, but I’m not aware of a machine learning specific SE.
I am doing research into characterising particle jets in high-energy physics. I am trying to use image recognition techniques, in particular convolutional neural networks to characterize jets into two classes.
These classes can be distinguished by the following features:
- Sudden ‘jump’ in the number of hits between layers of a detector
- Radius of concentration of hits
- Energy deposited in each layer
I am using 123x123x4 images. Each pixel in each channel represents a level of energy deposited in a layer of the detector. I am concerned that it may even be impossible to do this in a deep-learning approach, as there are typically only 150-300 pixels filled in each image.
I would like to use a ConvNet to classify the two different types of jet. However, I am not sure what architecture to use.
There are other variables that might be of importance in classification, and I would like to be able to include these also (probably in the dense layer immediately before the output).
I tried the following architecture, and trained with Ada, Adamax and Adadelta with no convergence:
___________ _________ _________ _________ ________ ______ | Conv | | Max | | Conv | | Max | | | | | Image --> | Layer 1 | --> | Pool 1 | --> | Layer 2 | --> | Pool 2 | -->| | | | |_________| |________| |_________| |________| | Dense | | Out | | Layer |-->|_____| Other ------------------------------------------------------------>| | Data | | |_______|
Are there any suggestions for architectures I should try?
The game Bot Clean took place in a fully observable environment, i.e., the state of every cell was visible to the bot at all times. Let us consider a variation of it where the environment is partially observable. The bot has the same actuators and sensors. But the sensors visibility is confined to its 8 adjacent cells.
The first line contains two space separated integers which indicate the current position of the bot. The board is indexed using Matrix Convention
5 lines follow, representing the grid. Each cell in the grid is represented by any of the following 4 characters:
‘b’ (ascii value 98) indicates the bot’s current position,
‘d’ (ascii value 100) indicates a dirty cell,
‘-‘ (ascii value 45) indicates a clean cell in the grid, and
‘o’ (ascii value 111) indicates the cell that is currently not visible.
Output is the action that is taken by the bot in the current step. It can either be any of the movements in 4 directions or the action of cleaning the cell in which it is currently located. Hence the output formats are LEFT, RIGHT, UP, DOWN or CLEAN.
0 0 b-ooo -dooo ooooo ooooo ooooo
Complete the function next_move that takes in 3 parameters: posr and posc denote the co-ordinates of the bot’s current position, and board denotes the board state, and print the bot’s next move.
The goal is to clean all the dirty cells in as few moves as possible. Your score is (200 – #bot moves)/25. All bots in this challenge will be given the same input. CLEAN is also considered a move.
Solution tester posted alongside the program for users to test their input as well.