Embedded artificial intelligence is a booming area of development. The hardware and software basics are in place, but the research into how to design mature home and industrial products is only beginning to approach the vision cast for it.
Deep learning lovers will point to some papers that theoretically approach machine control using policy based action decision modalities. Those actually working on machine control know that the convergence of these systems is not workable yet for field operational machines. The more general the machine must operate, the more unworkable a machine learning solution is.
Aaeon Up produces GPU and computer on a board products using Intel chip sets that support embedded AI development and NVidia and Qualcom are expected to follow.
Inference is the noun that corresponds to infer. Deep networks don't ever infer anything during operation after trained. What they do is do. The terms in use don't include inference.
- In the field
- In situ
Inference is usually the term used in the predicate logic or rules system sub-field of AI. Deep networks do not, by themselves, contain logic other than the logic in the CPU, FPU, or GPU that performs arithmetic. After training, the are essentially programmed DSPs (digital signal processors).
(Some training systems can be reentered to further training and some deep designs allow concurrent training and operation, but learning and doing are not fully integrated in deep learning models yet.)
Power consumption, heat dissipation, size, and weight are issues in embedded systems, which makes memory usage and thrift a challenge. This is typical, and not just for AI apps. In aeronautics, the effects of gravity and acceleration compound the challenge greatly.
The data science methods that work well for FaceBook, Google, Amazon, Lexis Nexis, and Pentaho are not designed for light-weight, low-power applications. In autonomous vehicle systems, whether they are ground vehicles, submerged vehicles, or flight vehicles makes huge difference in these respects.
Are both systems required on the same application?
In vehicles in general, portions of the function can be learned at different points of time.
- During a vendor's design of a family of models
- During a vendor's finalization of a particular model with its accessories
- During the quality control of a particular ID numbered vehicle before it is shipped
- During the first few months of usage, where the vehicle may learn the particular usage patterns and environment of the buyer
- During the remaining life of the vehicle to produce continuous operational improvement and adaptation to normal ware and maintenance processes
An autonomous car or an application where visual and image recognition is done, will it have both training system to be trained and an inference system to execute? Or [does] it [have] only the [deployed trained run time system] and communicate with a distant system which is already trained and has built a database?
For any military, commercial, or delivery network vehicle, requiring communication with a home base leaves open a number of security risks and possible attack vectors. Patch systems with proper security is probable, and several vehicle manufacturers have had firmware updates that are installed every time the vehicle is serviced.
Training data can be compressed using lz4 or simply by packing data as has been done in satellite communications since the 1970s. The memory is challenged more by the training that can only occur during field use of the product. Embedded product designers have developed over the last half century a large array of useful techniques to address the challenge, and more will be developed along side the real time AI technology. The two disciplines will emerge together.