Be Your Own Robot

Let's reclaim our human agency by creating our own "AI"



Context

A lot more services will soon integrate into our daily life thanks to better connectivity, progress in the field of AR and AI. The shift in control that is taking place is about who is taking the initiative to act. We used to be in control, picking apps to help us accomplish a task. But more and more apps are becoming autonomous, reaching out to us when they have something we need. This applies to apps we've 'installed' ourself, but systems in the IoT world around us will also reach out to us.



Although we don't risk to be overwhelmed because AI will make the right choices for us based on our profiled needs, something is very wrong. The problem is that we do not control our own profile and it's not our AI that makes the decisions for us, so it's time take matters in our own hand again. It's should no longer be an external system that pro-actively thinks we need something, but we need a mechanism in which our own "API" receives offers and requests which can be handled by our own AI.

IF_this_THEN_I aims to work on a set-up of software modules to let this happen. By letting people collect their our own data and asking them to annotate it, it can be can be used for Machine Learning purposes. That allows them to create, enrich and control their own profile using scripts from a community of fellow DIY AI explorers. Monitoring and profiling us no longer needs to be part of every piece of software. That monopoly will be taken away from Big Tech. IF_this_THEN_I hopes to be a step towards a viable alternative.

Control yourself with DIY AI from SNDRV

Output

The output of this project will be a working set-up of a personal AI system. The aim is to create a 'proof-of-concept' implementation, but it's important to mention that this does end at a technical level only. The fore most goal is to study the viability of the concept of "DIY AI". An important step of that process is to discover which areas of AI intervention can (and should) be taken away from Big Tech.


Fig. Configure yourself with components from a library of AI scripts and algorithms


Important questions related to that are:

  • What input data can be gathered by an individual and which meaningful outputs can their own AI provide?
  • What will be the tasks for a normal human being to control his/her own AI?
  • What kind of configuration options are needed when users are 'activating' scripts shared by a community?

Agenda

Steps taken so far:

FUNCTIONAL OVERVIEW

Private cloud
The core of the IF_this_THEN_I set-up is a personal cloud. In this cloud users will gather all the data they generate. It will contain of raw data, data sets and the gained insights.
Data
Data can be obtained from a wearable or the data our smartphones generates about our movement and location.
Smartphone tool
To make this data useful for Machine Learning, there will be a smartphone tool to help users annotate their information. They can access the app when they think they've something to annotate to the data collection in progress, but there will also be popups with questions to answer at intervals, or when a change in circumstances is detected.
AI scripts
We'll work on an expanding set of scripts that can be installed to process the datasets. And we aim to create the mechanism in an open way so ideally there will be the possibility to create a community with people sharing their scripts.
Human API
By getting to know us and being able to properly predict our reaction in certain situations, the API starts being able to react to incoming requests. External clouds will not need to have deep understanding about how we feel or what we like, they'll be dealing with the decisions our API makes. A data structure for this kind of communication need to be designed. Services will announce their availability by specifying what they can do for us, what we will get and how much it will costs.





TODO / COMPONENTS / ACTIVITIES

Below is an overview of the status of all tasks in each of the functional areas of the set-up.

Function Tasks / decisions Status
Data collection Can we make use of MySensorData to let people control the aggregation of their data? What kind of cloud or data storage needs to be configured to collect the data? Q1 - research
Annotation Create a tool to let a user annotate key events and manage the activity of data collection. Let's check-out if Snorkel can be used to further optimize that process once it's initiated. Q4 2020 - development
Script 'app store'
  • 'Plug-in' mechanism for users to let people enhance themselves with a selection of scripts
  • Pool of scripts
  • Distinction between 'learning' scripts and 'replying' scripts
Q3 - prototype implementation
Q1 - implementatoin
Q2 - adding rules
"AI" Two types of scripts are needed. One type is to act reactively on offerings, requests and demands coming in from the API. The second type is pro-active, acting like our current cloud-based monitoring systems. But then acting locally, based on our own data and profiles. Q1 - implementation of IF_this_THEN_I scripts Q3 - implementation/configuration AI
Cloud Based on the Solid fundaments these libraries look promising: Inrupt

  • Choose software for private storage space for sensor data and annotation data
  • Data structure for storing the newly generated insights
Q1 - local test cloud
Q2 - turn into DIY instructions
API
  • Request / reply mechanism to deal with external location-based cloud services
  • Data structure and format for requests
Q1 - define format
Q2 - specify test services



Fig. Active involvement in the annotation of your data

STARTING FROM SCRATCH

Big Tech had a head start collecting data about us and generating their profiles about us. But it's time to get started with doing that ourselves. The quality of our own AI will gradually improve. At first there will not be a lot of smartness and insights will be obvious. But as soon as the data sets are processed and new conclusions are extracted from the data, these can themselves be used as new input nodes for other Machine Learning scripts. For example:

Detecting the type or meaning of a certain GPS area or location can be done with an AI script, like script A and C in the image on the right. But instead of using 'home' and 'not home' in a digital way, it might lead to better and new insights to use 'distance from home' as a variable. Such data enrichments steps can be packed into scripts such as B and D.

We will start working on a growing set of scripts for a variety of tasks. By letting people pick their scripts from a pool of available scripts, we're allowing them to customize their involvement in a personal way. It will take some effort to start DIY AI. Doing it all by ourselves will require time and attention because managing the collection of proper input data and annotating it is crucial for good AI. It will be a different situation compared to what it used to be, when there was no need to do anything relying on all the work Big Tech was invisibly doing for us on the background.



CONCLUSION / AIM

The outcome of this project could be a conclusions that it's too ambitious to let people do their own AI. In that case a hybrid set-up is needed, in which our personal AI is 'outsourced' to thrustworthy entities providing a more user-friendly interface to the scripts or even completely taking care of processing our data sets, doing so under our supervision and under our terms and conditions. Whatever our future scenario will be, starting to collect and managing all our own data, including derived and enriched data about ourselves, is the only way to get ready for an escape from the growing control of Big Tech.