Translate

Pages

Pages

Pages

Intro Video
Showing posts with label Featured Blog Posts - Data Science Central. Show all posts
Showing posts with label Featured Blog Posts - Data Science Central. Show all posts

Friday, September 25, 2020

GPT3 and AGI: Beyond the dichotomy – part two

This blog continues from GPT3 and AGI: Beyond the dichotomy – part one

GPT3 and AGI

Let’s first clarify what AGI should look like

Consider the movie ‘Terminator’

When the Arnold Schwarzenegger character comes to earth – he is fully functional. To do so, he must be aware of the context. In other words, AGI should be able to operate in any context

Such an entity does not exist

And nor is GPT3 such an entity

But GPT3 however has the capacity to respond ‘AGI-like’ to an expanded set of contexts much more than traditional AI systems.

GPT 3 has got many things going for it

  • Unsupervised learning is the future
  • Linguistic capabilities distinguish humans
  • But Language is much more than encoding information. At a social level, language involves joint attention to environment, expectations and patterns.
  • Attention serves as a foundation for social trust
  • Hence, AGI needs a linguistic basis – but that needs attention and attention needs context. So, GPT-3 – linguistic – attention – context could lead to AGI-like behaviour

Does AGI need to be conscious as we know it or would access consciousness suffice?

In this context, a recent paper

A Roadmap for Artificial General Intelligence: Intelligence, Knowledge, and Consciousness: Garrett Mindt and Carlos Montemayor

https://www.academia.edu/43620181/A_Roadmap_for_Artificial_General_Intelligence_Intelligence_Knowledge_and_Consciousness makes an argument is that

  • integrated information in the form of attention suffices for AGI
  • AGI must be understood in terms of epistemic agency, (epistemic = relating to knowledge or the study of knowledge) and
  • Eepistemic agency necessitates access consciousness.
  • access consciousness: acquiring knowledge for action, decision-making,  and  thought,  without  necessarily  being  conscious

 

Therefore, the proposal goes that AGI necessitates 

  • selective attention for accessing information relevant to action,  decision-making,  memory  and    
  • But not necessarily consciousness as we know it

 

This line of thinking leads to many questions

  • Is consciousness necessary for AGI?
  • If so, should that consciousness be the same as human consciousness
  • Intelligence is typically understood in terms of problem-solving. Problem solving by definition leads to specialized mode of evaluation. Such tests are easy to formulate but check for compartmentalized competency (which cannot be called intelligence). They also do not allow intelligence to ‘spill over’ from one domain to another – as it does in human intelligence. 
  • Intelligence needs information to be processed in a contextually relevant way.
  • Can we use epistemic  agency  through  attention as the distinctive mark of general intelligence even without consciousness? (as per Garrett Mindt and Carlos Montemayor)
  • In this model, AGI is based on joint attention to preferences in a context sensitive way.
  • Would AI be a peer or subservient in the joint attention model?

Finally, let us consider the question of spillover of intelligence. In my view, that is another characteristic of AGI. Its not easy to quantify because tests are specific to problem types currently. A recent example of spillover of intelligence is from facebook AI supposedly inventing it’s own secret language. The media would have you believe that groups of AGI are secretly plotting to take over humanity. But the reality is a bit mundane as explained. The truth behind facebook AI inventing a new language

In a nutshell, the system was using Reinforcement learning. Facebook was trying to create a robot that could negotiate. To do this, facebook let two instances of the robot negotiate with each other – and learn from each other. The only measure of their success was how well they transacted objects. The only rule to follow was to put words on the screen. As long as they were optimizing the goal(negotiating) and understood each other it did not matter that the language was accurate (or indeed was English). Hence, the news about ‘inventing a new language’. But to me, the real question is: does it represent intelligence spillover?

Much of future AI could be in that direction.

To Conclude

We are left with some key questions:  

  • Does AGI need consciousness or access consciousness?
  • What is role of language in intelligence?
  • GPT3 has reopened the discussion but still hype and dichotomy (both don’t help because hype misdirects discussion and dichotomy shuts down discussion)
  • Does the ‘Bitter lesson’ apply? If so, what are its implications?
  • Will AGI see a take-off point like Google translate did?
  • What is the future of bias reduction other than what we see today?
  • Can bias reduction improve human insight and hence improve Joint attention?
  • GPT-3 – linguistic – attention – context
  • If context is the key, what other ways can be to include context?
  • Does problem solving compartmentalize intelligence?
  • Are we comfortable with the ‘spillover’ of intelligence in AI? – like in the facebook experiment

 

References

https://towardsdatascience.com/gpt-3-the-first-artificial-general-intelligence-b8d9b38557a1

https://www.gwern.net/GPT-3

http://haggstrom.blogspot.com/2020/06/is-gpt-3-one-more-step-towards.html

https://nordicapis.com/on-gpt-3-openai-and-apis/

https://www.datasciencecentral.com/profiles/blogs/what-is-s-driving-the-innovation-in-nlp-and-gpt-3

https://bdtechtalks.com/2020/08/17/openai-gpt-3-commercial-ai/

https://aidevelopmenthub.com/joscha-bach-on-gpt-3-achieving-agi-machine-understanding-and-lots-more-artificial/

https://medium.com/@ztalib/gpt-3-and-the-future-of-agi-8cef8dc1e0a1

https://www.everestgrp.com/2020-08-gpt-3-accelerates-ai-progress-but-the-path-to-agi-is-going-to-be-bumpy-blog-.html

https://www.theverge.com/21346343/gpt-3-explainer-openai-examples-errors-agi-potential

https://www.theguardian.com/commentisfree/2020/aug/01/gpt-3-an-ai-game-changer-or-an-environmental-disaster

http://dailynous.com/2020/07/30/philosophers-gpt-3/

https://marginalrevolution.com/marginalrevolution/2020/07/gpt-3-etc.html

https://artificialintelligence-news.com/2020/09/10/experts-misleading-claim-openai-gpt3-article/

https://analyticsindiamag.com/gpt-3-is-great-but-not-without-shortcomings/

https://www.3mhisinsideangle.com/blog-post/ai-talk-gpt-3-mega-language-model/

https://venturebeat.com/2020/06/01/ai-machine-learning-openai-gpt-3-size-isnt-everything/

https://discourse.numenta.org/t/gpt3-or-agi/7805

https://futureofintelligence.com/2020/06/30/is-this-agi/

https://www.quora.com/Can-we-achieve-AGI-by-improving-GPT-3

https://bmk.sh/2020/08/17/Building-AGI-Using-Language-Models/

https://news.ycombinator.com/item?id=23891226

 

image source: Learn English Words: DICHOTOMY



from Featured Blog Posts - Data Science Central https://ift.tt/2RZXiMq
via Gabe's MusingsGabe's Musings

Sunday, September 20, 2020

Weekly Digest, September 21

Monday newsletter published by Data Science Central. Previous editions can be found here. The contribution flagged with a + is our selection for the picture of the week. To subscribe, follow this link.  

Announcement

Featured Resources and Technical Contributions 

Featured Articles

Picture of the Week

Source: article flagged with a + 

To make sure you keep getting these emails, please add  mail@newsletter.datasciencecentral.com to your address book or whitelist us. To subscribe, click here. Follow us: Twitter | Facebook.



from Featured Blog Posts - Data Science Central https://ift.tt/35SmX1G
via Gabe's MusingsGabe's Musings

The illusion of choice

Do you think your actions are the result of your own free choices? What if those actions are the inevitable and necessary consequence of antecedent states of affairs? What does this mean for your free will?

In a deterministic world where there’s an exclusive future for all our actions, digital users can become more predictable and monetizable than ever. In fact, by using creative designs and deceptive strategies, companies can create deterministic worlds and exploit the fact that human behaviour is hardwired to choose the path of least resistance.

Sites and apps designs become highly relevant in this scenario, because if you know how people think, you can design choice environments that make it easier for people to choose what you want. Several companies observe and learn an incredible amount of information about user behaviour in order to refine what is called “choice architectures,” discrete design elements intended to influence human behaviour through how decisions are presented.

There are choice architectures all around you, and they are never neutral: they always influence user behaviour, even when they fail to accomplish its objective or there’s no explicit strategy behind.

Nudging

“Nudging” refers to how users can be driven towards making certain choices by appealing to psychological biases. A nudge is any aspect of the choice architecture that alters people’s behaviour in a predictable way without forbidding any options or significantly changing their economic incentives. It represents a small feature of the environment that alters people’s behaviour but does so in a non-enforced way.

It’s true that choice architectures influence by default (even when there’s no apparent intention behind), so a nudge is best understood as the intentional attempt at influencing choice.


A preselection made by design on a set different tip amounts
Example of nudging: the pre-selected amount suggests is the ‘right’ one. Source: The Internet Patrol

Nudges work without limiting the user’s original set of choices, and can produce positive results like:

  • Improving health caring. Sending people a simple reminder to schedule a dental check-up proved to double the rate of people who signed up for an appointment.
  • Improving financial decisions. Sending students a few personalized text messages helped many of them remember to refile their application for student aid.
  • Increasing choices that benefit others. Using an opt-out system for organ donations where people are automatically registered as organ donors can significantly increase the number of donors.

Whether through reminders, personalized notifications, awards or default settings, nudges can steer people to make better choices. But the question is: better to whom? What if there were opposite interests behind the act of driving user’s behaviours?

The dark side

There are tricks that go beyond nudges to influence decision making, and cause users to do things they may not otherwise do. Dark patterns are subtle ploys many companies use to manipulate you into doing something, such as buying or signing up for something, or disclosing personal or financial details.

A design that delivers the best conversion rate might not be the same that delivers the best user experience.


The second shopping cart screen shows a higher final amount than the firstone, since the first screen is hiding extra costs
Example of a dark pattern applied to hide extra costs. Source: Shopify

Dark patterns may exploit timing to make it harder for a user to be fully in control of its faculties during a key decision moment. In other words, the moment when you see a notification can determine how you respond to it. Or if you even notice it.

Dark patterns also leverage on a very human characteristic: we’re lazy by design, so producing friction is always an effective strategy. Designs that require lots more clicks/taps and interactions discourage users into engaging with that content.


A drop down list using dark patterns forces a user to intentionaly unselect hidden costs
In this example, the user must actively unselect the extra product, or otherwise it will appear in the checkout. Source: Econsultancy

The site Darkpatterns.org details some of these deceptive mechanisms like “roach motel” (when the design makes it simple to sign up but hard to cancel), “disguised ads” (ads masqueraded as content that isn’t trying to sell you something), or “privacy Zuckering” (named after Facebook CEO Mark Zuckerberg, is the trick of getting you to overshare data).

These strategies extend everywhere on the internet, and although some countries try to regulate this behaviour, the truth is that not all governments seem to be taking action:

As digital users, we are in a very hard spot. The fact that many US banking sites are harder to read than Moby-Dick (making 58% of US bank content not readable for the average American), and about 11% of retail websites contain dark patterns, reveals that we are continuously under siege. Is there any way out?

Final thoughts

Manipulation through behavioural techniques can occur quietly and leave no trace. Since companies can drive customer’s decisions through heavy analytics and user interfaces, it’s easy to imagine a digital future in which social platforms employ algorithms to predict the virality and monetizability of each post, only accepting or highlighting the ones that could generate sufficient revenue.

Companies are super focused on testing and experimenting with different techniques to get the most desirable responses, and since they are incredible experts in the discipline, it seems hard to avoid being deceived. The good news is that education is a powerful tool, and by knowing some of their strategies and trying to be aware of our cognitive biases, we might be able to sidestep some of the traps.

Sites like Darkpatterns.org or Princeton’s Web Transparency have lots of examples regarding dark patterns and awesome material. I suggest you take some time and go through them. It will pay off. You can also explore @darkpatterns or use the hashtag #darkpatterns on Twitter to call out what you’ve found or discover what others have found. Social media engagement is a good way to put pressure on companies to stop using these practices.

If you can detect deceptions, you’re more likely to avoid them


Interested in these topics? Follow me on Linkedin or Twitter



from Featured Blog Posts - Data Science Central https://ift.tt/3mydQJz
via Gabe's MusingsGabe's Musings

8 Smart Ways To Become A Data Scientist

Data Science has been coined everywhere, and everybody wants to express their views and thoughts on this subject even though they are a novice or lack adequate knowledge about data science! The idea that everyone can become a data scientist only by studying a few technological advances and solving any complicated problems cripples the world today. 

Let us first understand the career perspectives of data science. Data science has three pillars:


  1. Business Expert - Data Analyst
  2. Technology Expert - Data Engineer
  3. Statistics & Algorithm - Data Scientist

First, make it clear whether you want to become a data analyst, a data engineer, or a data scientist.


Smart ways to become a data scientist

  • Education requirement

Education is known to be one of the primary sections of resumes and it is not going to change at all. Educational background serves a signal to the employers to better know about their future employees. When it comes to Data Science, you’ll find most of the professionals holding Ph.D. education. As per the data gathered by 365datascience, the typical data scientist in 2020 holds a Master’s degree (56%), a Bachelor (13%), or a Ph.D. (27%) as their highest academic qualification. The highest level of education achieved by data science professionals is a doctorate. Though, the considerable drop in being a data scientist is a bachelor-level degree only. The advanced levels are just to ensure a specialization in data science. We have discussed degrees! But what is the best degree to become a data scientist? To answer this, degree related to Computer Science or Statistics and Mathematics are inclined to data science proficiency. Data Science and Analysis graduates have made their room on the top of the research on the career path of becoming a data scientist.

Let me tell you a hack here! In reality, no single degree can prepare a person for a real job in data science. Even if you are post-graduate in data science, but you don’t have strong analytical and programming skills, you can’t be a data scientist.

  • Learning formats

Primarily, you can choose either of the three learning formats- Online training, Offline training, and Self-learning. You can avail of data science training from various platforms like Coursera, Deakin, Udemy, and many more. Offline training, on the other hand, can also be a great option if you have proper resources of data science learning available around you. If you are already in the profession and don’t have time to avail of both online and offline learning, then you have another option to explore, it is self-learning. What you need is to religiously follow various resources online and offline. You can subscribe to various YouTube channels providing data science training and watch the videos as per your time availability.

  • Hands-on learning

Solving real-world data science problems will only improve your practice in data science. But from where will you start? Working with the dataset with the classic Titanic data set with survival classification or clustering is likely to damage your portfolio, rather than help. Instead, consider taking ideas from shared Github ventures. Look at what others are creating based on the network that you acquired from LinkedIn through tech sessions and certifications. Feel free to use samples from Github projects on Udacity or Coursera. Then mix real datasets from Google Research, Kaggle, or search for an interesting dataset and start building real problem solutions. If you are involved in a particular field or business, consider looking for public datasets and developing a sample project. For example, if you're interested in fintech, try building a loan approval algorithm using the public loan data from Lending Club. The key takeaway to work with real datasets is that they are very messy and noisy compared to academic ones. You need to prepare the skillset by practising online datasets available. What all you need to do is:

  • Download and open the data in Excel or a related application 
  • See what trends would you find in the data by eyeballing them 
  • If you think the evidence-backed the article's conclusions? Whether or not? 
  • What more questions do you think you should answer with the data?
  • Programming skills

Starting up in programming can be very challenging, and there are a lot of myths out there that make people think programming is a skill they can never learn, or that landing a job as a data scientist is almost mission impossible. They couldn't be any worse. To become a Data Scientist, prepare yourself to master the following skills:

  • Statistics
  • R and Python programming language
  • Data wrangling
  • Mathematical skills like calculus and linear algebra
  • Data visualization
  • Visualization tools like a tableau, ggplot, plotly.
  • Predictive modelling
  • Machine learning

Research shows that the sector is continually changing and adapting to market needs as well as its rising importance in academia and around. Universities are meeting demand while Master's is defining itself as the traditional golden degree. Python keeps consuming away at R, but even SQL is on the rise!

  • Algorithmic approach

Your prime emphasis should be on a deep understanding of the algorithms. You should be able to answer certain questions as-

  • What are the input and outputs of the algorithm?
  • What are the assumptions that are part of the algorithm?
  • Where does it fail?
  • And the master question to test your expertise. If given time and resources, can you manually run an algorithm with just a pen and paper?

If you can answer these for any algorithm then you have acquired experience for that algorithm at the data science level. Practice makes a man perfect is a right saying to be quoted here!

  • Stop believing myths

Whilst on the learning path of data science, you might get to know about several myths. My recommendation to you here is DON’T BELIEVE ANY MYTHS, I repeat, DON’T BELIEVE THEM AT ALL! Rather, focus more on:

  • Data science is about being able to answer questions and generate value for business, not software 
  • Learning the definitions matter more than learning the syntax 
  • Creating and sharing projects is what you are going to do in an actual data science job, and practicing this way will give you a head start
  • Practice on storytelling with data

A story in the sense of data science is a tale of what you've discovered, how you find it, and what it means. An explanation could be the revelation that in the past year the company's sales have fallen by 20 percent. It's not enough to merely state the fact — you're going to have to explain why sales fell, and how to address it. The key components of data-storytelling are: 

  • Understanding and contextualization 
  • Find ways to investigate 
  • Using imperative data visualization 
  • Applying various data sources 
  • Have a coherent narrative
  • Supplementing data

In your data scientist job, you will be given raw datasets only. So, you should have the ability to combine raw datasets before performing data analysis. The first move in creating a supplementing a good quality dataset is to know what expertise to show. The key skills businesses seek in data scientists, and therefore the primary skills they want to show in a portfolio, are: 

  • Control of communication 
  • Power to work with others 
  • Technical know-how 
  • Power to reason with data 
  • Motivation and the potential to take action

Are you a future-ready Data Science professional?

Learning data science will be time-consuming – say 3 to 12 months or more of regular learning is required. By demonstrating a higher demand for junior data scientists than the US and the UK, India has won the position of the best country to start a career as a data scientist. If you just have a Bachelor's degree, it is still the place to be. You just began a life-long adventure, which promises exciting experiences to enjoy. So keep your interest refreshing, develop your collection of programming skills, and good luck in your career in data science! The ball is in your court!



from Featured Blog Posts - Data Science Central https://ift.tt/35SIxmJ
via Gabe's MusingsGabe's Musings

CALL SYMPUT in SAS Explained with Examples

CALL SYMPUT and CALL SYMPUTX


CALL SYMPUT and CALL SYMPUTX in SAS are the most commonly used DATA Step call routines to interact with the Macro Facility in SAS. Both are used to assign a value of DATA step to a macro variable.

SYNTAX:

CALL SYMPUT(macro-variable, value);


Arguments are macro-variable and can be one of the following items:

  • a character string that is a SAS name, enclosed in quotation marks.
  • It can contain the name of a character variable.
  • A character expression to create a macro variable name. You can create a series of macro variables using this form.

value is the value to be assigned, which can be

  • a string enclosed in quotation marks.
  • It can be the name of a numeric or character variable. The macro variable is assigned with the value of the variable,
  • a DATA step expression. The value returned by the expression in the current observation is assigned as the value of macro-variable.

Example 1: Using CALL SYMPUT to create macro variables of DATA step variables.


This DATA step creates the three macro variables countries, and respectively assign them the values in the code variable.

data currency_codes;
input country $ 6. code $4.;
call symput(country,code);
datalines;
USA USD
UK GBP
Japan JPY
Europe EUR
India INR
;
run;
%put &India;

OUTPUT

INR

Example 2: Creating a series of macro variable

In the below example, the CALL SYMPUT statement builds a series of macro variable names by combining the character string Country and the left-aligned value of _N_. Values are assigned to the macro variables Country1, Country2, and so on.

data currency_codes;
input country $ 6. code $4.;
call symput('Country'||left(_n_),country);
datalines;
USA USD
UK GBP
Japan JPY
Europe EUR
India INR
;
run;
%put &country2;

OUTPUT

UK

Below is an example of a string enclosed in quotation marks  the statement assigns the string testing to the macro variable NEW:

data test;
call symput('new','testing');
run;
%put &new;

OUTPUT

testing

Example- When the value is the name of a numeric or character variable.

The macro variable is assigned with the value of the variable,


For numeric variable, SAS performs an automatic numeric-to-character conversion and writes a message in the log.

data test;
a=2;
b="a character variable";
call symput('a',a);
call symput('b',b);
run;

Use this form when macro-variable is also the name of a SAS variable or a character expression that contains a SAS variable.

A unique macro variable name and value can be created from each observation using the automatic data step variable _n_. See Example 2.

For character variables, SYMPUT creates only one macro variable, and its value changes in each iteration of the program. The macro variable contains only the value assigned in the last iteration of the data step.

data class;
set sashelp.class;
call symput('Name',name);
run;
%put &name;

OUTPUT

William

Example when the value contains a  DATA step expression.

The value returned by the expression in the current observation is assigned as the value of macro-variable. In this example, the macro variable named HOLDATE receives the value July 4, 1997:

Also, Read the Date Interval Functions – INTNX and INTCK in SAS



from Featured Blog Posts - Data Science Central https://ift.tt/32L7f6u
via Gabe's MusingsGabe's Musings

3 Big Reasons Every Business Must Adopt DevOps and Cloud Computing

Cloud computing has become ubiquitous in today’s fast-paced business environment. When you combine this dynamic technology with DevOps culture, your business transforms in real-time. With benefits like on-demand scalability, quicker run times, consistent codes, and high-performing apps, this game-changing combination can empower your business to become more agile, responsive and swift.

If you haven't implemented it yet, here are three big reasons to do it right away:

  1. Accelerated Time to Market: Automation is a key driving factor for infrastructure management. It determines the success of a product or service by accelerating its time to market. When business processes are powered by cloud computing, they can be made more efficient and error-free with automation. With a reliable infrastructure, developers can deliver high-performing solutions faster. Automation plays a vital role in optimizing IT processes and enabling efficient management. With the cloud, you can automate processes like running test cases, provisioning, or compiling reports from collected data.
  2. Faster Deployment: When the cloud powers IT processes, companies can deploy the code faster. However, customized and error-free deployment requires that you use DevOps in Cloud. Businesses that are backed by a DevOps culture can solve their IT issues by building custom logic. With easy access to the latest and advanced tools, it also becomes easier to define capabilities for better business outcomes. 
  3. End-to-End Monitoring: Cloud makes it possible to keep all your essential tools for crucial projects in one centralized platform. From monitoring to backup to automation tools, everything is readily available in one place. This easy access to all infrastructural services is one of the most significant benefits of Cloud. It empowers developers to ensure the success of software solutions.

DevOps in Cloud can be leveraged for managing and monitoring the latest versions of all the tools. Companies can also set up custom alarms and notifications. These alerts are triggered to optimize tools for efficient use.

Backup for Testing

Every cloud service provider has a backup mechanism to tackle unexpected performance issues. Despite this backup, the absence of DevOps can invite automation issues in applications. When this happens, servers need to be launched manually for restoring the backup. Such cases can hurt the end-user experience, causing customers to lose faith in the reliability of your business.

Conclusion

It is cloud computing that empowers businesses to unlock their full potential. It enables you to undertake load testing and assess the reliability of apps. Cloud computing also makes mobile automation testing possible. It integrates advanced tools to recreate the software development environment.

But, if these capabilities are used without DevOps in Cloud, replicating the production environment for testing can become a complicated process that is prone to errors.



from Featured Blog Posts - Data Science Central https://ift.tt/3ciRw1W
via Gabe's MusingsGabe's Musings

Algorithms of Social Manipulation

Do you know how your apps work? Are you aware of what tech companies are doing in the back with your data? And what’s more revealing: do you know which of your action are actually influenced by those apps? When you take a trip with Uber, buy stuff on Amazon, or watch a movie on Netflix: when are you consciously deciding and when are you being heavily influenced?

Tech companies are not passively observing your behavior and acting as a consequence: they are influencing your behavior so you become more predictable. By conditioning your actions, companies can predict outcomes in a better way, and know better what to sell you.

Every breath you take

Systems and apps make use of massive amount of data like user’s location, maps, browser’s interests, and data streams coming from mobile and wearable devices, in an era of unprecedented power for firms who are no longer merely appealing to our innate desires, but programming our behaviors.

The site True People Search probed the privacy policies of 11 of the biggest tech companies in the world to find out exactly what they know about us, and the result is scary. It’s not the information you are used to share (e.g. your name or email address), but all the information you wouldn’t consider sharing that makes this frightening. Big tech companies record data like income level, political and religious views, credit card information, your calendar events, all your search history and visited websites, and all the content you viewed or engaged with.


Image for post
What information are giant tech companies collecting from you? Source: TruePeopleSearch

Uber stores massive amounts of data from its users, including their location, gender, spending history, contacts, phone battery level, whether they are on the way home from a one-night stand, and even if they are drunk or not. Uber has also experimented with its drivers to determine the most effective strategies for keeping them on the road as long as possible.

In order to place the right content in front of the right people, Netflix logs everything you have ever watched and how you watch: every time you click, watch, search, play, pause, what programs you consider watching but choose not to, and when you’re most likely to rerun a show. To better identify users’ preferences, content is categorized into tens of thousands of micro-genres, and then paired with a user’s viewing history. Everything you see on Netflix is a recommendation: the rows, the titles in those rows, and the order of those titles within the rows are all deeply considered.

But Amazon is a data powerhouse taken to a whole new level. They capture absolutely everything, from your product searches, what you look at but don’t buy, what you look at next, how you pay, how you prefer your shipping, your interactions with Alexa, or your requests to Echo. And the shocking thing is the level of detail they store: they capture what device you use, how many items you subsequently clicked on after selecting a product, your location, and the reading sessions and exact time of day for each tap on your Kindle device.

For Amazon, every mouse click and every twist and turn through its websites, apps and platforms are commodities that carry huge value.

When Amazon convinced third-parties to sell their items via their own marketplace, data collection skyrocketed and allowed the company to see way beyond their eye-sight: they can now access to any market they’ve ever wanted to, and see how customers behave in each one of them.

Tell me what I want

Each day you are influenced by algorithms that guide your decisions and choices. Algorithms are a step by step method for solving a problem or reaching a goal, based on taking an input and conducting a sequence of specified actions to reach a result. Since the explosion of modern technologies, they have expanded, sophisticated and replicated everywhere, having a central role in places like social media platforms.

The goal of several social media and content selection algorithms is to maximize clicks. They are designed to show or recommend stuff that will increase the probability of users clicking on it, since clicking is what generates revenue for the platforms.

For example, a click-through optimization algorithm is more profitable if it can better predict what people are going to click on, so it can feed them exactly that. So, a way to optimize the result is to feed users with content they like, and don’t show anything outside their comfort zone. Although it’s true that this causes their interests to become narrower, it’s not that the algorithms are trying to show you the stuff you like: they’re trying to turn you into a predictable clicker, taking you to a “predictable point” and making it easier for companies to perform any action (e.g. sell you something).

Companies have figured out that they can do this using your own data, by gradually modifying or emphasizing your preferences with targeted material. That’s basically, if you think of a spectrum of preferences, it’s to one side or the other because they want to drive you to an extreme, where you become a more predictable clicker and so they can monetize you more effectively. This is advanced applied behavioral science, or as Jeff Hammerbacher (the founder of Cloudera) said:

“The best minds of my generation are thinking about how to make people click ads. That sucks.”

The reasons behind this are mainly economic. A Wall Street Journal investigation found that Google manipulated search algorithms to prioritize large businesses over smaller ones, guiding search users to more prominent businesses over lesser-known ones. According to the investigation, eBay saw its traffic from Google nosedive during 2014, contributing to a $200 million decrease in its revenue guidance for the year. After Google told the company it had made a change that lowered the ranking of several high traffic pages, eBay considered pulling its roughly $30 million quarterly advertising spend from Google, but ultimately decided to start a pressure campaign on executives. Google eventually agreed to boost the ranking of several eBay pages that were demoted while eBay took on a costly revision of its web pages to make them more relevant.

Mechanized intervention is an ideal way to keep content flowing towards more lucrative topics, avoiding material that doesn’t generate engagement or profits. For tech companies to succeed, algorithms must focus on monetizable activities, and this is exactly what they are doing with our data.

Interested in these topics? Follow me on Linkedin or Twitter



from Featured Blog Posts - Data Science Central https://ift.tt/32MVDzQ
via Gabe's MusingsGabe's Musings

Risk Avoidance Spectrum and Character Types

Ever since I started following stocks again, I have been preoccupied with developing a "game plan" to help prevent me from making emotional investment decisions.  Plans can be improved.  What I have come up with so far is a stress avoidance model to study how different character types might perform in relation to the market.  Since quite a number of investors are actually algorithms - and many trades are algorithmically triggered - the concept of stress needs to be more liberally interpreted.  What "stress avoidance" means to a human can probably regarded as "risk avoidance" to a machine.

As I have written in several blogs, I developed a series of market metrics.  While I have yet to share the exact details, I think it would be fair to say the following: 1) selling occurs when risk is high; and 2) buying occurs when risk is low.  Risk is expressed as a percentage in the case of my system; this means that that 0 percent will generally cause a buy while 100 percent will trigger a sell.  It is therefore possible to create a chart mapping out the different combinations and therefore character types: e.g. 1/50 conforms to the notion of buy-low and sell-high; 50/50 reflects the idea of buy-and-hold - this to say, regardless of the exact purchase price and holding indefinitely.

Below, I labelled a chart from 1946 containing data from the Dow Jones Industrial Average.  The risk levels in this case are averaged over 5 days.  I note four primary character types although of course there is a spectrum: 1) traditionalists; 2) idealists; 3) opportunists; and 4) players.  It is difficult to appreciate the behaviour of the lower sell-risk level characters and particularly the "players" using 5-day risk averaging - since they might respond quite rapidly if averaging is disabled.  I call the chart below an "Advantage Thunderbird Chart" - because it maps out the extent to which the subjects exceed or fall below market performance.  In this chart using data from 1946, the subjects with the lower risk tolerances generally enjoyed the highest returns.

Now I jump forward in time to last Friday to this ETF traded on the Toronto Stock Exchange - less resolution and using no risk averaging.  I chose it specifically to show that sometimes the subjects are relatively unlucky.  Almost all the subjects below score either far below market or just slightly above - the 0-50 on the legend providing a relatively poor portrayal of the situation.  In short, using this risk model, it has generally been better simply holding on to the stock no matter what, which is even more idealistic than the "Idealists" who might sell at a risk level of 46 to 56 percent.

Risk levels at 46 to 56 percent can certainly precede a market meltdown.  I even suggest that a persistent level of blind faith idealism might be an indication of an approaching correction - being euphemistic with my use of the term.  It is therefore no minor commitment to hold a stock under such circumstances.  Perhaps the biggest recent correction most people remember occurred in association with the COVID-19 lockdowns.  There was quite a sell-off.  Those that held on or even bought equities - despite the apparently high risk levels - have in some cases in certain sectors been rewarded well.  Alas, a risk avoidance trading model is premised on lower levels of risk tolerance.

Some ideas intended to substantiate this model are as follows: 1) whether machine or human, risk is tolerated only up to a point; and 2) a successful approach tends to attract compliant subscribers.  For example, if subjects from 1/20 to 50/20 are all unsuccessful for a prolonged period of time, their material agents or proxies (humans and computer algorithms) will tend to disappear.  Similarly, if only the fiercest Idealists succeed, this is the monoculture that will prevail.  It is the monocultural success bias that might explain the occurrence of a sudden stock market crash - as many like-minded people make the same decisions around the same time.

I understand the underlying numbers better than graphics on the surface charts.  These charts are fairly backwards-looking.  Suffice it to say that every correction is premised on success stories becoming nightmares.  A success story looking backwards is always fabulous.  In order to be more forward-looking, I check the recent developments to the sell lines: e.g. 4 weeks ago, 3 weeks ago, 2 weeks ago, and last week.  The general idea is to try to find a pattern of change.

It is worth noting that as the sell-risk level increases, at some point the returns must reflect market: if the idea is to buy-and-hold, then in the long-term the rate of return must approximate the market.  There is just no way around this in the long-term.  In the short-term, it might be possible to buy on a dip.  But then going forward, it will be a market-return if no trading occurs.  So from a mathematical standpoint, a high sell-risk subject is unlikely to beat market for long.  I suppose a trading firm might leverage their position in order to financially engineer more returns (borrowing to increase their exposure); but this would involve different types of risks given that the return would merely amplify the change in market value.  I recall one company lending out their equities and then using this to generate a revenue stream.  Anyways, no doubt there are various creative methods to generate revenue such as writing options.  This does not mean that the underlying investment performs better than market, though.

I cannot say that I have developed a game plan yet.  But what is more normal, really?  Wouldn't a game plan be delusional given such uncertain circumstances?  And if things are normal, why are so many people making such an effort to reassure me that they are normal - as if I am an unfit to decide for myself?  It is a risk avoidance model.  It is necessary to be aware of risk in order to avoid it.  Presumably, people are highly invested in normal.  The whole idea of the model is to take emotion out of the equation.  While this takes care of my response to reality, there is a problem in terms of mass psychosis - or this illusion of normalcy that has the effect of preventing adaptive response behaviours.  Clearly I am not entirely motivated by the technicals.

I took my mother out to a restaurant a few weeks ago.  There were hardly any people indoors.  Most of the customers were on the patio.  Of course, in the winter, those customers will have to decide whether to go inside or not to eat at the restaurant.  Basically the problem is that if they get ill, the local health care system might be unable to respond to the demand for services.  The new Coronavirus is just one of various illness to affect people recently:  H5N1, MERS, SARS, and now COVID-19.  I was thinking maybe more people might consider a different line of work, possibly not owning and operating restaurants and other  social establishments.  Meanwhile, certain public services might wish to have highly trained sanitation and sterilization professionals.  In order to trigger changes, it goes without saying that there must be unemployment and business failures.  (Of course, I recognize a need to support transition programs.)  So I think the next step in terms of the analytics is to ensure that risk avoidance metrics extend from metrics of risk awareness.



from Featured Blog Posts - Data Science Central https://ift.tt/2ZTLQpY
via Gabe's MusingsGabe's Musings

InterSystems IRIS – the All-Purpose Universal Platform for Real-Time AI/ML

InterSystems IRIS – the All-Purpose Universal Platform for Real-Time AI/ML

Author: Sergey Lukyanchikov

Challenges of real-time AI/ML computations

We will start from the examples that we faced as Data Science practice at InterSystems:

  • A “high-load” customer portal is integrated with an online recommendation system. The plan is to reconfigure promo campaigns at the level of the entire retail network (we will assume that instead of a “flat” promo campaign master there will be used a “segment-tactic” matrix). What will happen to the recommender mechanisms? What will happen to data feeds and updates into the recommender mechanisms (the volume of input data having increased 25000 times)? What will happen to recommendation rule generation setup (the need to reduce 1000 times the recommendation rule filtering threshold due to a thousandfold increase of the volume and “assortment” of the rules generated)?
  • An equipment health monitoring system uses “manual” data sample feeds. Now it is connected to a SCADA system that transmits thousands of process parameter readings each second. What will happen to the monitoring system (will it be able to handle equipment health monitoring on a second-by-second basis)? What will happen once the input data receives a new bloc of several hundreds of columns with data sensor readings recently implemented in the SCADA system (will it be necessary, and for how long, to shut down the monitoring system to integrate the new sensor data in the analysis)?
  • A complex of AI/ML mechanisms (recommendation, monitoring, forecasting) depend on each other’s results. How many man-hours will it take every month to adapt those AI/ML mechanisms’ functioning to changes in the input data? What is the overall “delay” in supporting business decision making by the AI/ML mechanisms (the refresh frequency of supporting information against the feed frequency of new input data)?

Summarizing these and many other examples, we have come up with a formulation of the challenges that materialize because of transition to using machine learning and artificial intelligence in real time:

  • Are we satisfied with the creation and adaptation speed (vs. speed of situation change) of AI/ML mechanisms in our company?
  • How well our AI/ML solutions support real-time business decision making?
  • Can our AI/ML solutions self-adapt (i.e., continue working without involving developers) to a drift in the data and resulting business decision-making approaches?

This article is a comprehensive overview of InterSystems IRIS platform capabilities relative to universal support of AI/ML mechanism deployment, of AI/ML solution assembly (integration) and of AI/ML solution training (testing) based on intense data flows. We will turn to market research, to practical examples of AI/ML solutions and to the conceptual aspects of what we refer to in this article as real-time AI/ML platform.

What surveys show: real-time application types

The results of the survey conducted by Lightbend in 2019 among some 800 IT professionals, speak for themselves:

Figure 1 Leading consumers of real-time data

We will quote the most important for us fragments from the report on the results of that survey:

“… The parallel growth trends for streaming data pipelines and container-based infrastructure combine

to address competitive pressure to deliver impactful results faster, more efficiently and with greater agility. Streaming enables extraction of useful information from data more quickly than traditional batch processes. It also enables timely integration of advanced analytics, such as recommendations based on artificial intelligence and machine learning (AI/ML) models, all to achieve competitive differentiation through higher customer satisfaction. Time pressure also affects the DevOps teams building and deploying applications. Container-based infrastructure, like Kubernetes, eliminates many of the inefficiencies and design problems faced by teams that are often responding to changes by building and deploying applications rapidly and repeatedly, in response to change. … Eight hundred and four IT professionals provided details about applications that use stream processing at their organizations. Respondents were primarily from Western countries (41% in Europe and 37% in North America) and worked at an approximately equal percentage of small, medium and large organizations. …

… Artificial intelligence is more than just speculative hype. Fifty-eight percent of those already using stream processing in production AI/ML applications say it will see some of the greatest increases in the next year.

  • The consensus is that AI/ML use cases will see some of the largest increases in the next year.
  • Not only will adoption widen to different use cases, it will also deepen for existing use cases, as real-time data processing is utilized at a greater scale.
  • In addition to AI/ML, enthusiasm among adopters of IoT pipelines is dramatic — 48% of those already incorporating IoT data say this use case will see some of the biggest near-term growth. … “

This quite interesting survey shows that the perception of machine learning and artificial intelligence scenarios as leading consumers of real-time data, is already “at the doorstep”. Another important takeaway is the perception of AI/ML through DevOps prism: we can already now state a transformation of the still predominant “one-off AI/ML with a fully known dataset” culture.

A real-time AI/ML platform concept

One of the most typical areas of use of real-time AI/ML is manufacturing process management in the industries. Using this area as an example and considering all the above ideas, let us formulate the real-time AI/ML platform concept.

Use of artificial intelligence and machine learning for the needs of manufacturing process management has several distinctive features:

  • Data on the condition of a manufacturing process is generated very intensely: at high frequency and over a broad range of parameters (up to tens of thousands parameter values transmitted per second by a SCADA system)
  • Data on detected defects, not to mention evolving defects, on contrary, is scarce and occasional, is known to have insufficient defect categorization as well as localization in time (usually, is found in the form of manual records on paper)
  • From a practical standpoint, only an “observation window” is available for model training and application, reflecting process dynamics over a reasonable moving interval that ends with the most recent process parameter readings

These distinctions make us (besides reception and basic processing in real time of an intense “broadband signal” from a manufacturing process) execute (in parallel) AI/ML model application, training and accuracy control in real time, too. The “frame” that our models “see” in the moving observation window is permanently changing – and the accuracy of the AI/ML models that were trained on one of the previous “frames” changes also. If the AI/ML modeling accuracy degrades (e.g., the value of the “alarm-norm” classification error surpassed the given tolerance boundaries) a retraining based on a more recent “frame” should be triggered automatically – while the choice of the moment for the retraining start must consider both the retrain procedure duration and the accuracy degradation speed of the current model versions (because the current versions go on being applied during the retrain procedure execution until the “retrained” versions of the models are obtained).

InterSystems IRIS possesses key in-platform capabilities for supporting real-time AI/ML solutions for manufacturing process management. These capabilities can be grouped in three major categories:

  • Continuous Deployment/Delivery (CD) of new or modified existing AI/ML mechanisms in a production solution functioning in real time based on InterSystems IRIS platform
  • Continuous Integration (CI) of inbound process data flows, AI/ML model application/training/accuracy control queues, data/code/orchestration around real-time interactions with mathematical modeling environments – in a single production solution in InterSystems IRIS platform
  • Continuous Training (CT) of AI/ML mechanisms performed in mathematical modeling environments using data, code, and orchestration (“decision making”) passed from InterSystems IRIS platform

The grouping of platform capabilities relative to machine learning and artificial intelligence into the above categories is not casual. We quote a methodological publication by Google that gives a conceptual basis for such a grouping:

“… DevOps is a popular practice in developing and operating large-scale software systems. This practice provides benefits such as shortening the development cycles, increasing deployment velocity, and dependable releases. To achieve these benefits, you introduce two concepts in the software system development:

  • Continuous Integration (CI)
  • Continuous Delivery (CD)

An ML system is a software system, so similar practices apply to help guarantee that you can reliably build and operate ML systems at scale.

However, ML systems differ from other software systems in the following ways:

  • Team skills: In an ML project, the team usually includes data scientists or ML researchers, who focus on exploratory data analysis, model development, and experimentation. These members might not be experienced software engineers who can build production-class services.
  • Development: ML is experimental in nature. You should try different features, algorithms, modeling techniques, and parameter configurations to find what works best for the problem as quickly as possible. The challenge is tracking what worked and what didn't, and maintaining reproducibility while maximizing code reusability.
  • Testing: Testing an ML system is more involved than testing other software systems. In addition to typical unit and integration tests, you need data validation, trained model quality evaluation, and model validation.
  • Deployment: In ML systems, deployment isn't as simple as deploying an offline-trained ML model as a prediction service. ML systems can require you to deploy a multi-step pipeline to automatically retrain and deploy model. This pipeline adds complexity and requires you to automate steps that are manually done before deployment by data scientists to train and validate new models.
  • Production: ML models can have reduced performance not only due to suboptimal coding, but also due to constantly evolving data profiles. In other words, models can decay in more ways than conventional software systems, and you need to consider this degradation. Therefore, you need to track summary statistics of your data and monitor the online performance of your model to send notifications or roll back when values deviate from your expectations.

ML and other software systems are similar in continuous integration of source control, unit testing, integration testing, and continuous delivery of the software module or the package. However, in ML, there are a few notable differences:

  • CI is no longer only about testing and validating code and components, but also testing and validating data, data schemas, and models.
  • CD is no longer about a single software package or a service, but a system (an ML training pipeline) that should automatically deploy another service (model prediction service).
  • CT is a new property, unique to ML systems, that's concerned with automatically retraining and serving the models. …”

We can conclude that machine learning and artificial intelligence that are used with real-time data require a broader set of instruments and competences (from code development to mathematical modeling environment orchestration), a tighter integration among all the functional and subject domains, a better management of human and machine resources.

A real-time scenario: recognition of developing defects in feed pumps

Continuing to use the area of manufacturing process management, we will walk through a practical case (already referenced in the beginning): there is a need to set up a real-time recognition of developing defects in feed pumps based on a flow of manufacturing process parameter values as well as on maintenance personnel’s reports on detected defects.

Figure 2 Developing defect recognition case formulation

One of the characteristics of many similar cases, in practice, is that regularity and timeliness of the data feeds (SCADA) need to be considered in line with episodic and irregular detection (and recording) of various defect types. In different words: SCADA data is fed once a second all set for analysis, while defects are recorded using a pencil in a copybook indicating a date (for example: “Jan 12 – leakage into cover from 3rd bearing zone”).

Therefore, we could complement the case formulation by adding the following important restriction: we have only one “fingerprint” of a concrete defect type (i.e. the concrete defect type is represented by the SCADA data as of the concrete date – and we have no other examples for this particular defect type). This restriction immediately sets us outside of the classical machine learning paradigm (supervised learning) that presumes that “fingerprints” are available in large quantity.

Figure 3 Elaborating the defect recognition case formulation

Can we somehow “multiply” the “fingerprint” that we have available? Yes, we can. The current condition of the pump is characterized by its similarity to the already recorded defects. Even without quantitative methods applied, just by observing the dynamics of the parameter values received from the SCADA system, much could be learnt:

Figure 4 Pump condition dynamics vs. the concrete defect type “fingerprint”

However, visual perception (at least, for now) – is not the most suitable generator of machine learning “labels” in our dynamically progressing scenario. We will be estimating the similarity of the current pump condition to the already recorded defects using a statistical test.

Figure 5 A statistical test applied to incoming data vs. the defect “fingerprint”

The statistical test estimates a probability for a set of records with manufacturing process parameter values, acquired as a “batch” from the SCADA system, to be similar to the records from the concrete defect “fingerprint”. The probability estimated using the statistical test (statistical similarity index) is then transformed to either 0 or 1, becoming the machine learning “label” in each of the records of the set that we evaluate for similarity. I.e., once the acquired batch of pump condition records are processed using the statistical test, we obtain the capacity to (a) add that batch to the training dataset for AI/ML models and (b) to assess the accuracy of AI/ML model current versions when applied to that batch.

Figure 6 Machine learning models applied to incoming data vs. the defect “fingerprint”

In one of our previous webinars we show and explain how InterSystems IRIS platform allows implementing any AI/ML mechanism as continually executed business processes that control the modeling output likelihood and adapt the model parameters. The implementation of our pumps scenario relies on the complete InterSystems IRIS functionality presented in the webinar – using in the analyzer process, part of our solution, reinforcement learning through automated management of the training dataset, rather than classical supervised learning. We are adding to the training dataset the records that demonstrate “detection consensus” after being applied both the statistical test (with the similarity index transformed to either 0 or 1) and the current version of the model – i.e. both the statistical test and the model have produced on such records the output of 1. At model retraining, at its validation (when the newly trained model is applied to its own training dataset, after a prior application of the statistical test to that dataset), the records that “failed to maintain” the output of 1 once the statistical test applied to them (due to a permanent presence in the training dataset of the records belonging to the original defect “fingerprint”) are removed from the training dataset, and a new version of the model is trained on the defect “fingerprint” plus the records from the flow that “succeeded”.

Figure 7 Robotization of AI/ML computations in InterSystems IRIS

In the case of a need to have a “second opinion” on the detection accuracy obtained through local computations in InterSystems IRIS, we can create an advisor process to redo the model training/application on a control dataset using cloud providers (for example: Microsoft Azure, Amazon Web Services, Google Cloud Platform, etc.):

Figure 8 "Second opinion" from Microsoft Azure orchestrated by InterSystems IRIS

The prototype of our scenario is implemented in InterSystems IRIS as an agent system of analytical processes interacting with the piece of equipment (the pump), the mathematical modeling environments (Python, R and Julia), and supporting self-training of all the involved AI/ML mechanisms – based on real-time data flows.

Figure 9 Core functionality of the real-time AI/ML solution in InterSystems IRIS

Some practical results obtained due to our prototype:

  • The defect’s “fingerprint” detected by the models (January 12th):

  • The developing defect not included in the “fingerprints” known to the prototype, detected by the models (September 11th, while the defect itself was discovered by a maintenance brigade two days later – on September 13th):

A simulation on real-life data containing several occurrences of the same defect has shown that our solution implemented using InterSystems IRIS platform can detect a developing defect several days before it is discovered by a maintenance brigade.

InterSystems IRIS - the all-purpose universal platform for real-time AI/ML computations

InterSystems IRIS is a complete, unified platform that simplifies the development, deployment, and maintenance of real-time, data-rich solutions. It provides concurrent transactional and analytic processing capabilities; support for multiple, fully synchronized data models (relational, hierarchical, object, and document); a complete interoperability platform for integrating disparate data silos and applications; and sophisticated structured and unstructured analytics capabilities supporting batch and real-time use cases. The platform also provides an open analytics environment for incorporating best-of-breed analytics into InterSystems IRIS solutions, and it offers flexible deployment capabilities to support any combination of cloud and on-premises deployments.

Applications powered by InterSystems IRIS platform are currently in use with various industries helping companies receive tangible economic benefits in strategic and tactical run, fostering informed decision making and removing the “gaps” among event, analysis, and action.

Figure 10 InterSystems IRIS architecture in the real-time AI/ML context

Same as the previous diagram, the below diagram combines the new “basis” (CD/CI/CT) with the information flows among the working elements of the platform. Visualization begins with CD macromechanism and continues through CI/CT macromechanisms.

Figure 11 Diagram of information flows among AI/ML working elements of InterSystems IRIS platform

The essentials of CD mechanism in InterSystems IRIS: the platform users (the AI/ML solution developers) adapt the already existing and/or create new AI/ML mechanisms using a specialized AI/ML code editor: Jupyter (the full title: Jupyter Notebook; for brevity, the documents created in this editor are also often called by the same title). In Jupyter, a developer can write, debug and test (using visual representations, as well) a concrete AI/ML mechanism before its transmission (“deployment”) to InterSystems IRIS. It is clear that the new mechanism developed in such a manner will enjoy only a basic debugging (in particular, because Jupyter does not handle real-time data flows) – but we are fine with that since the main objective of developing code in Jupyter is verification, in principle, of the functioning of a separate AI/ML mechanism. In a similar fashion, an AI/ML mechanism already deployed in the platform (see the other macromechanisms) may require a “rollback” to its “pre-platform” version (reading data from files, accessing data via xDBC instead of local tables or globals – multi-dimensional data arrays in InterSystems IRIS – etc.) before debugging.

An important distinctive aspect of CD implementation in InterSystems IRIS: there is a bidirectional integration between the platform and Jupyter that allows deploying in the platform (with a further in-platform processing) Python, R and Julia content (all the three being programming languages of their respective open-source mathematical modeling leader environments). That said, AI/ML content developers obtain a capability to “continuously deploy” their content in the platform while working in their usual Jupyter editor with usual function libraries available through Python, R, Julia, delivering basic debugging (in case of necessity) outside the platform.

Continuing with CI macromechanism in InterSystems IRIS. The diagram presents the macroprocess for a “real-time robotizer” (a bundle of data structures, business processes and fragments of code in mathematical environment languages, as well as in ObjectScript – the native development language of InterSystems IRIS – orchestrated by them). The objective of the macroprocess is: to support data processing queues required for the functioning of AI/ML mechanisms (based on the data flows transmitted into the platform in real time), to make decisions on sequencing and “assortment” of AI/ML mechanisms (a.k.a. “mathematical algorithms”, “models”, etc. – can be called in a number of different ways depending on implementation specifics and terminology preferences), to keep up to date the analytical structures for intelligence around AI/ML outputs (cubes, tables, multidimensional data arrays, etc. – resulting into reports, dashboards, etc.).

An important distinctive aspect of CI implementation in InterSystems IRIS: there is a bidirectional integration among the platform and mathematical modeling environments that allows executing in-platform content written in Python, R or Julia in the respective environments and receiving back execution results. That integration works both in a “terminal mode” (i.e., the AI/ML content is formulated as ObjectScript code performing callouts to mathematical environments), and  in a “business process mode” (i.e., the AI/ML content is formulated as a business process using the visual composer, or, sometimes, using Jupyter, or, sometimes, using an IDE – IRIS Studio, Eclipse, Visual Studio Code). The availability of business processes for editing in Jupyter is specified using a link between IRIS within CI layer and Jupyter within CD layer. A more detailed overview of integration with mathematical modeling environments is provided further in this text. At this point, in our opinion, there are all reasons to state the availability in the platform of all the tooling required for implementing “continuous integration” of AI/ML mechanisms (originating from “continuous deployment”) into real-time AI/ML solutions.

And finally, the crucial macromechanism: CT. Without it, there will be no AI/ML platform (even if “real time” can be implemented via CD/CI). The essence of CT is the ability of the platform to operate the “artifacts” of machine learning and artificial intelligence directly in the sessions of mathematical modeling environments: models, distribution tables, vectors/matrices, neural network layers, etc. This “interoperability”, in the majority of the cases, is manifested through creation of the mentioned artifacts in the environments (for example, in the case of models, “creation” consists of model specification and subsequent estimation of its parameters – the so-called “training” of a model), their application (for models: computation with their help of the “modeled” values of target variables – forecasts, category assignments, event probabilities, etc.), and improvement of the already created plus applied artifacts (for example, through re-definition of the input variables of a model based on its performance  – in order to improve forecast accuracy, as one possible option). The key property of CT role is its “abstraction” from CD and CI reality: CT is there to implement all the artifacts using computational and mathematical specifics of an AI/ML solution, within the restrictions existing in concrete environments. The responsibility for “input data supply” and “outputs delivery” will be borne by CD and CI.

An important distinctive aspect of CT implementation in InterSystems IRIS: using the above-mentioned integration with mathematical modeling environments, the platform can extract their artifacts from sessions in the mathematical environments orchestrated by it, and (the most important) convert them into in-platform data objects. For example, a distribution table just created in a Python session can be (without pausing the Python session) transferred into the platform as, say, a global (a multidimensional data array in InterSystems IRIS) – and further re-used for computations in a different AI/ML mechanism (implemented using the language of a different environment – like R) – or as a virtual table. Another example: in parallel with “routine” functioning of a model (in a Python session), its input dataset is processed using “auto ML” – an automated search for optimized input variables and model parameters. Together with “routine” training, the production model receives in real time “optimization suggestions” as to basing its specification on an adjusted set of input variables, on adjusted model parameter values (no longer as an outcome of training in Python, but as the outcome of training of an “alternative” version of it using, for example, H2O framework), allowing the overall  AI/ML solution to handle in an autonomous way unforeseen drift in the input data and in the modeled objects/processes.

We will now take a closer look at the in-platform AI/ML functionality of InterSystems IRIS using an existing prototype as example.

In the below diagram, in the left part of the image we see the fragment of a business process that implements execution of Python and R scripts. In the central part – we see the visual logs following execution of those scripts, in Python and in R accordingly. Next after them – examples of the content in both languages, passed for execution in respective environments. In the right part – visualizations based on the script outputs. The visualizations in the upper right corner are developed using IRIS Analytics (the data is transferred from Python to InterSystems IRIS platform and is put on a dashboard using platform functionality), in the lower right corner – obtained directly in R session and transferred from there to graphical files. An important remark: the discussed business process fragment is responsible in this prototype for model training (equipment condition classification) based on the data received in real time from the equipment imitator process, that is triggered by the classification accuracy monitor process that monitors performance of the classification model as it is being applied. Implementing an AI/ML solution as a set of interacting business processes (“agents”) will be discussed further in the text.

Figure 12 Interaction with Python, R and Julia in InterSystems IRIS

In-platform processes (a.k.a. “business processes”, “analytical processes”, “pipelines”, etc.– depending on the context) can be edited, first of all, using the visual business process composer in the platform, in such a way that both the process diagram and its corresponding AI/ML mechanism (code) are created at the same time. By saying “an AI/ML mechanism is created”, we mean hybridity from the very start (at a process level): the content written in the languages of mathematical modeling environments neighbors the content written in SQL (including IntegratedML extensions), in InterSystems ObjectScript, as well as other supported languages. Moreover, the in-platform paradigm opens a very wide spectrum of capability for “drawing” processes as sets of embedded fragments (as shown in the below diagram), helping with efficient structuring of sometimes rather complex content, avoiding “dropouts” from visual composition (to “non-visual” methods/classes/procedures, etc.). I.e., in case of necessity (likely in most projects), the entire AI/ML solution can be implemented in a visual self-documenting format. We draw your attention to the central part of the below diagram that illustrates a “higher-up embedding layer” and shows that apart from model training as such (implemented using Python and R), there is analysis of the so-called ROC curve of the trained model allowing to assess visually (and computationally) its training quality – this analysis is implemented using Julia language (executes in its respective Julia environment).

Figure 13 Visual AI/ML solution composition environment in InterSystems IRIS

As mentioned before, the initial development and (in other cases) adjustment of the already implemented in-platform AI/ML mechanisms will be performed outside the platform in Jupyter editor. In the below diagram we can find an example of editing an existing in-platform process (the same process as in the diagram above) – this is how its model training fragment looks in Jupyter. The content in Python language is available for editing, debugging, viewing inline graphics in Jupyter. Changes (if required) can be immediately replicated to the in-platform process, including its production version. Similarly, newly developed content can be replicated to the platform (a new in-platform process is created automatically).

Figure 14 Using Jupyter Notebook to edit an in-platform AI/ML mechanism in InterSystems IRIS

Editing of an in-platform process can be performed not only in a visual or a notebook format – but in a “complete” IDE (Integrated Development Environment) format as well. The IDEs being IRIS Studio (the native IRIS development studio), Visual Studio Code (an InterSystems IRIS extension for VSCode) and Eclipse (Atelier plugin). In certain cases, simultaneous usage by a development team of all the three IDEs is possible. In the diagram below we see an example of editing all the same process in IRIS Studio, in Visual Studio Code and in Eclipse. Absolutely any portion of the content is available for editing: Python/R/Julia/SQL, ObjectScript and the business process elements.

Figure 15 Editing of an InterSystems IRIS business process in various IDE

The means of composition and execution of business processes in InterSystems IRIS using Business Process Language (BPL), are worth a special mentioning. BPL allows using “pre-configured integration components” (activities) in business processes – which, properly speaking, give us the right to state that IRIS supports “continuous integration”. Pre-configured business process components (activities and links among them) are extremely powerful accelerators for AI/ML solution assembly. And not only for assembly: due to activities and their links, an “autonomous management layer” is introduced above disparate AI/ML mechanisms, capable of making real-time decisions depending on the situation.

Figure 16 Pre-configured business process components for continuous integration (CI) in InterSystems IRIS platform

The concept of agent systems (a.k.a. “multiagent systems”) has strong acceptance in robotization, and InterSystems IRIS platform provides organic support for it through its “production/process” construct. Besides unlimited capabilities for “arming” each process with the functionality required for the overall solution, “agency” as the property of an in-platform processes family, enables creation of efficient solutions for very unstable modeled phenomena (behavior of social/biological systems, partially observed manufacturing processes, etc.).

Figure 17 Functioning AI/ML solution in the form of an agent system of business processes in InterSystems IRIS

We proceed with our overview of InterSystems IRIS platform by presenting applied use domains containing solutions for entire classes of real-time scenarios (a fairly detailed discovery of some of the in-platform AI/ML best practices based on InterSystems IRIS is provided in one of our previous webinars).

In “hot pursuit” of the above diagram, we provide below a more illustrative diagram of an agent system. In that diagram, the same all prototype is shown with its four agent processes plus the interactions among them: GENERATOR – simulates data generation by equipment sensors, BUFFER – manages data processing queues, ANALYZER – executes machine learning, properly speaking, MONITOR – monitors machine learning quality and signals the necessity for model retrain.

Figure 18 Composition of an AI/ML solution in the form of an agent system of business processes in InterSystems IRIS

The diagram below illustrates the functioning of a different robotized prototype (text sentiment analysis) over a period. In the upper part – the model training quality metric evolution (quality increasing), in the lower part – dynamics of the model application quality metric and retrains (red stripes). As we can see, the solution has shown an effective and autonomous self-training while continuing to function at the required level of quality (the quality metric values stay above 80%).

Figure 19 Continuous (self-)training (CT) based on InterSystems IRIS platform

We were already mentioning “auto ML” before, and in the below diagram we are now providing more details about this functionality using one other prototype as an example. In the diagram of a business process fragment, we see an activity that launches modeling in H2O framework, as well as the outcomes of that modeling (a clear supremacy of the obtained model in terms of ROC curves, compared to the other “hand-made” models, plus automated detection of the “most influential variables” among the ones available in the original dataset). An important aspect here is the saving of time and expert resources that is gained due to “auto ML”: our in-platform process delivers in half a minute what may take an expert from one week to one month (determining and proofing of an optimal model).

Figure 20 “Auto ML” embedded in an AI/ML solution based on InterSystems IRIS platform

The diagram below “brings down the culmination” while being a sound option to end the story about the classes of real-time scenarios: we remind that despite all the in-platform capabilities of InterSystems IRIS, training models under its orchestration is not compulsory. The platform can receive from an external source a so-called PMML specification of a model that was trained in an instrument that is not being orchestrated by the platform – and then keep applying that model in real time from the moment of its PMML specification import. It is important to keep in mind that not every given AI/ML artifact can be resolved into a PMML specification, although the majority of the most widely used AI/ML artifacts allow doing this. Therefore, InterSystems IRIS platform has an “open circuit” and means zero “platform slavery” for its users.

Figure 21 Model application based on its PMML specification in InterSystems IRIS platform

Let us mention the additional advantages of InterSystems IRIS platform (for a better illustration, with reference to manufacturing process management) that have major importance for real-time automation of artificial intelligence and machine learning:

  • Powerful integration framework for interoperability with any data sources and data consumers (SCADA, equipment, MRO, ERP, etc.)
  • Built-in multi-model database management system for high-performance hybrid transactional and analytical processing (HTAP) of unlimited volume of manufacturing process data
  • Development environment for continuous deployment of AI/ML mechanisms into real-time solutions based on Python, R, Julia
  • Adaptive business processes for continuous integration into real-time solutions and (self-)training of AI/ML mechanisms
  • Built-in business intelligence capabilities for manufacturing process data and AI/ML solution outputs visualization
  • API Management to deliver AI/ML outputs to SCADA, data marts/warehouses, notification engines, etc.

AI/ML solutions implemented in InterSystems IRIS platform easily adapt to existing IT infrastructure. InterSystems IRIS secures high reliability of AI/ML solutions due to high availability and disaster recovery configuration support, as well as flexible deployment capability in virtual environments, at physical servers, in private and public clouds, in Docker containers.

That said, InterSystems IRIS is indeed the all-purpose universal platform for real-time AI/ML computations. The all-purpose nature of our platform is proven in action through the de-facto absence of restrictions on the complexity of implemented computations, the ability of InterSystems IRIS to combine (in real time) execution of scenarios from various industries, the exceptional adaptability of any in-platform functions and mechanisms to concrete needs of the users.

Figure 22 InterSystems IRIS - the all-purpose universal platform for real-time AI/ML computations

For a more specific dialog with those of our audience that found this text interesting, we would recommend proceeding to a “live” communication with us. We will readily provide support with formulation of real-time AI/ML scenarios relevant to your company specifics, run collaborative prototyping based on InterSystems IRIS platform, design and execute a roadmap for implementation of artificial intelligence and machine learning in your manufacturing and management processes. The contact e-mail of our AI/ML expert team – MLToolkit@intersystems.com.



from Featured Blog Posts - Data Science Central https://ift.tt/2FMPeMn
via Gabe's MusingsGabe's Musings