Research collections - Microsoft Research http://approjects.co.za/?big=en-us/research/blog/category/research-collection/ Mon, 06 Mar 2023 17:14:21 +0000 en-US hourly 1 https://wordpress.org/?v=6.6.2 Creating the Future of Software Development http://approjects.co.za/?big=en-us/research/blog/research-collection-creating-the-future-of-software-development/ Wed, 26 May 2021 19:00:02 +0000 http://approjects.co.za/?big=en-us/research/?p=747646 “If you think about the world that we’re in now, software plays a key role in our lives – in everything we do. And at the core of solving big problems and fundamental challenges is the ability to use software to attack the problem and make it better. I work in the field of programming […]

The post Creating the Future of Software Development appeared first on Microsoft Research.

]]>

“If you think about the world that we’re in now, software plays a key role in our lives – in everything we do. And at the core of solving big problems and fundamental challenges is the ability to use software to attack the problem and make it better. I work in the field of programming languages, and we go to work thinking ‘what do we do to make software better?’ Because if we make software better, then we can make all the things that depend on software better.”

Ben Zorn, Partner Researcher, Microsoft Research

Among the key aims of computer science is to advance the tools and systems that software engineers use every day – applying the latest developments in everything from formal methods to artificial intelligence to make software easier to write, understand, test, document and manage. This work can help developers to manage complexity and risk, stay abreast of new developments, and even tackle new paradigms such as quantum computing.

This collection highlights some of the many projects and initiatives across Microsoft Research that aim to advance the field of software development: creating new programming languages, building tools and systems for better software creation, testing, operation and documentation, and advancing program synthesis to automate and streamline programming tasks.

Explore more

Programming Languages

Bosque

Bosque programming language code sample
Sample code in Bosque, a new programming language created by Microsoft researchers and their colleagues

The Bosque programming language is an experiment in regularized programming language design for a machine-assisted rapid and reliable software development lifecycle. It is a ground-up language and tooling co-design effort focused on investigating the theoretical and practical implications of:

  • Explicitly designing a code intermediate representation language (or bytecode) that enables deep automated code reasoning and the deployment of next-generation development tools, compilers, and runtime systems.
  • Leveraging the power of the intermediate representation to provide a programming language that is both easily accessible to modern developers and that provides a rich set of useful language features for developing high reliability & high performance applications.
  • Taking a cloud-development-first perspective on programming to address emerging challenges as we move into a distributed cloud development model based around microservices, serverless, and RESTful architectures.

Explore more

F*

F* is a general-purpose functional programming language with effects aimed at program verification. It puts together the automation of an SMT-backed deductive verification tool with the expressive power of a proof assistant based on dependent types. After verification, F* programs can be extracted to efficient OCaml, F#, C, WASM, or ASM code. This enables verifying the functional correctness and security of realistic applications. The main ongoing use case of F* is building a verified, drop-in replacement for the whole HTTPS stack in Project Everest, a multi-year collaborative effort focused on building a verified, secure communications stack designed to improve the security of HTTPS, a key internet safeguard. This includes verified implementations of TLS 1.2 and 1.3 and of the underlying cryptographic primitives.

Explore more

Excel LAMBDA

LAMBDA allows users to define their own custom functions using Excel’s formula language. Excel already allows users to define custom functions, but only by writing them in an entirely different language such as JavaScript (opens in new tab). In contrast, LAMBDA allows users to define a custom function in Excel’s own formula language. Moreover, one function can call another, so there is no limit to the power they can deploy with a single function call. The introduction of LAMBDA makes the Excel formula language Turing Complete (opens in new tab).

Explore more

P

P is a state machine-based programming language for modeling and specifying complex distributed systems. P allows the programmer to specify the system as a collection of interacting state machines, which communicate with each other using events. P unifies modeling, programming, and testing into one activity for the programmer. Not only can a P program be compiled into executable code, but it can also be systematically tested using model checking. Among other use cases, developers have used P for programming safe robotics systems.

Explore more

Q#

Q# is a domain-specific programming language designed for quantum application development. It is a high-level language that can express the full range of current and future quantum applications. Q# allows users to build hardware agnostic, reusable components intended for execution on a quantum processor. For debugging and development purposes, Q# programs can be executed on a simulator.

Explore more

Development, testing, documentation and operation

CodeBERT

CodeBERT is a bimodal pre-trained model for programming language (PL) and natural language (NL). CodeBERT learns general-purpose representations that support downstream NL-PL applications such as natural language codesearch, code documentation generation, etc. CodeBERT is developed with transformer-based neural architecture, and trained with a hybrid objective function that incorporates the pre-training task of replaced token detection, which is to detect plausible alternatives sampled from generators. This enables us to utilize both bimodal data of NL-PL pairs and unimodal data, where the former provides input tokens for model training while the latter helps to learn better generators.

CodeXGLUE

CodeXGLUE is a benchmark dataset and open challenge for code intelligence. It includes a collection of code intelligence tasks and a platform for model evaluation and comparison. CodeXGLUE stands for General Language Understanding Evaluation benchmark for code. It includes 14 datasets for 10 diversified code intelligence tasks covering the following scenarios:

  • code-code (clone detection, defect detection, cloze test, code completion, code refinement, and code-to-code translation)
  • text-code (natural language code search, text-to-code generation)
  • code-text (code summarization)
  • text-text (documentation translation)

Explore more

CoCoGUM

Code summaries are short natural language (NL) descriptions of code snippets that help developers better understand and maintain source code. Due to the pivotal role of code summaries in software development and maintenance, there is a surge of works on automatic code summarization to reduce the heavy burdens of developers. However, contemporary approaches only leverage the information within the boundary of the method being summarized (i.e., local context), and ignore that using broader context could assist with code summarization.

In this paper, researchers explore two global context information, namely intra-class and inter-class context information, and propose the model CoCoGUM: Contextual Code Summarization with Multi-Relational Graph Neural Networks on UMLs. CoCoGUM first incorporates class names as the intra-class context, which is further fed to a Transformer-based sentence embedding model to extract the class lexical embeddings. Then, relevant Unified Modeling Language (UML) class diagrams are extracted as inter-class context and we use a Multi-Relational Graph Neural Network (MR-GNN) to encode the class relational embeddings. Class lexical embeddings and class relational embeddings, together with the outputs from code token encoder and AST encoder, are passed to the decoder armed with a two-level attention mechanism to generate high-quality context-aware code summaries.

Coyote

Mission-critical cloud services require more than 99.9 percent uptime—developers face extreme challenges in this unpredictable, high-stakes environment. Coyote provides developers with a programming library and tools for confidently building reliable asynchronous software on the .NET platform.

Coyote allows developers to express the high-level asynchronous design directly in the code. It automatically finds deep non-deterministic safety and liveness bugs through intelligent systematic testing; and reproduces these non-deterministic bugs, facilitating easier debugging and quick fixes. It also supports both actor- and task-based programming.

Coyote is being used by several teams in Azure (opens in new tab) to build and test their distributed services.

Explore more

Developer Velocity Lab

The Developer Velocity Lab’s mission is to discover, improve and amplify developer work and well-being. It does this through socio-technical investigations in the following focus areas:

  • Productivity: Investigating ways to measure and improve developer productivity, so we can help developers do their work better, faster, smarter and more securely. This includes investigations of low-code, no-code and work at the intersection of code, ML and AI.
  • Community: Studying the ways that people communicate, collaborate, share knowledge and build communities when they build software. An important aspect of this is making all kinds of software development more accessible, inclusive and sustainable.
  • Well-being: Investigating the intersections of happiness, satisfaction and personal value with software development activities, so we can find ways to make development more fun, enjoyable and sustainable for individuals.

EverCrypt

EverCrypt, part of Project Everest, is a no-excuses, industrial-grade, fully verified cryptographic provider. EverCrypt provides the same convenience and performance as popular existing cryptographic libraries. Thanks to formal verification, EverCrypt eliminates many of the bugs that leave protocols and applications vulnerable. Usable by verified and unverified clients alike, EverCrypt emphasizes both multiplatform support and high performance. Parts of EverCrypt have been integrated in Windows, the Linux Kernel, Firefox, the Wireguard VPN and the Tezos blockchain.

Explore more

EverParse

EverParse is a framework that automatically produces high-performance, formally proven C code for parsing binary messages. EverParse is now being used to ensure that certain network virtualization components in the Windows kernel correctly parse attacker-controlled inputs. Network packets are handled first by EverParse code that is proven to correctly parse and accept only well-formed messages, rejecting potentially malicious inputs before they reach the rest of the system.

Explore more

Narya

When a failure occurs in production systems, the highest priority is to quickly mitigate it. Despite its importance, failure mitigation is done in a reactive and ad-hoc way: taking some fixed actions only after a severe symptom is observed. For cloud systems, such a strategy is inadequate. NARYA is a preventive and adaptive failure mitigation service that is integrated in a production cloud, Microsoft Azure’s compute platform. Narya predicts imminent host failures based on multi-layer system signals and then decides smart mitigation actions to avert VM failures. Narya’s decision engine takes a novel online experimentation approach to continually explore the best mitigation action. Narya further enhances the adaptive decision capability through reinforcement learning.

Explore more

Network Verification

Networks need to run reliably, efficiently, and without users noticing any problems, even as they grow. Keeping networks tuned this way requires the development of tools that improve the functioning of large-scale datacenter networks. The Network Verification project investigates a range of network verification tools that help network operators and architects design, operate, maintain, troubleshoot, and report on their large networks.

Specifically, the Network Verification project explores three sub-areas:

  • Data-plane verification: Because networks forward packets according to their data plane, verification tools need to have data-plane intelligence built in, for pre- and post-deployment verification and bug detection.
  • Control-plane verification: Networks generate routing tables through protocols such as BGP (border gateway protocol). To analyze networks before they go into production, they need to be verified at this, the control-plane level.
  • Emulation: With emulation, network designers can find bugs in firmware and models; network operators can be trained before they are working on production systems. The goal of this product is to enable highly scalable, high-fidelity network emulation for those applications.

RESTler

RESTler is the first stateful REST API fuzzing tool for automatically testing and finding security and reliability bugs in cloud/web services through their REST APIs. Given an OpenAPI/Swagger specification of a cloud/web service REST API, RESTler automatically generates and executes tests that exercise the service through its REST API—no prerecorded REST API traffic or preexisting tests are needed. RESTler intelligently infers dependencies among request types from the API specification, and, during testing, it checks for specific classes of bugs and dynamically learns from prior service responses. This intelligence allows RESTler to explore deeper service states reachable only through specific request sequences and to find more bugs.

Explore more

Software Analytics

A huge wealth of various data exists in software lifecycle, including source code, feature specifications, bug reports, test cases, execution traces/logs, and real-world user feedback, etc. Data plays an essential role in modern software development, because hidden in the data is information about the quality of software and services as well as the dynamics of software development. With various analytical and computing technologies, such as pattern recognition, machine learning, data mining, information visualization and large-scale data computing & processing, software analytics is to enable software practitioners to perform effective and efficient data exploration and analysis in order to obtain insightful and actionable information for data-driven tasks in engineering software and services.

The mission of the Software Analytics Group at Microsoft Research Asia is to advance the state of the art in the software analytics area; and utilize our technologies to help improve the quality of software and services as well as the development productivity for both Microsoft and software industry.

Program synthesis

Blue-Pencil

Traditional program synthesis systems have modal UIs (i.e., users enter a special mode to give demonstration/examples), which interrupt users’ workflow and require users to have knowledge about the systems to invoke them.

Blue-Pencil (opens in new tab) aims at developing modeless program synthesis: systems that do not require users to explicitly enter a special mode to give demonstration or examples. Instead, a modeless program synthesis system observes what task a user is doing, learns how to automate the task from those observations, and subsequently assists the user by automating the remaining part of the task.
Modeless program synthesis is the main technology behind Visual Studio IntelliCode Suggestions (opens in new tab).

Explore more

Deep Program Understanding

The Deep Program Understanding project aims to teach machines to understand complex algorithms, combining methods from the programming languages, software engineering and the machine learning communities.

Learning to Understand Programs: Building “smart” software engineering tools requires learning to analyze and understand existing code and related artefacts such as documentation and online resources (e.g. StackOverflow). One of our primary concerns is the integration of standard static analysis methods with machine learning methods to create learning-based program analyses that can be used within software engineering tools. Such tools can then be used to find bugs, automatically retrieve or produce relevant documentation, or verify programs.

Learning to Generate Programs: A core problem of machine learning is to learn algorithms that explain observed behaviour. This can take several forms, such as program synthesis from examples, in which an interpretable program matching given input/output pairs has to be produced; or alternatively programming by demonstration, in which a system has to learn to mimic sequences of actions.

Advancing the Machine Learning Frontier: Structured data such as programs represent a challenge for machine learning methods. The combination of domain constraints, known semantics and complex structure requires new machine learning methods and techniques. Our focus in this area is the analysis and generation of graphs, for which we have developed novel neural network architectures and generative procedures.

Predictive Program Synthesis

Program synthesis technologies help users easily automate tasks that would otherwise require significant manual effort or programming skills. For instance, programming-by-example or natural language programming approaches allow the user to express intent by giving examples or natural language descriptions of the task, from which the system can synthesize a program in a formal programming language to complete the task. In this project, we are exploring the novel notion of predictive program synthesis, which is based on the idea that, in some scenarios, we can automatically suggest useful programs to the user without any interaction or intent specification from the user, based entirely on the context.

Common examples of such scenarios include extraction of data from unstructured or semi-structured sources such as text files or webpages. We have developed technologies for automatically synthesizing data extraction scripts for such applications and are also exploring other applications of predictive synthesis such as automatically suggesting improvements to code authored by developers in the IDE.

Predictive synthesis is the technology being used for the new web data extraction feature (opens in new tab) in Microsoft Power BI.

PROSE framework

Microsoft PROSE is a framework of technologies for programming by examples: automatic generation of programs from input-output examples.

The core component of the PROSE SDK is its program synthesis framework for custom domain-specific languages (DSLs). It allows users to define a DSL that describes a typical space of tasks in their application domain, and automatically provides parsing, execution, and synthesis technologies for this DSL. Text transformation (opens in new tab) and text extraction (opens in new tab) DSLs are programming-by-example technologies that have been developed on top of the PROSE core synthesis framework.

Explore more

The post Creating the Future of Software Development appeared first on Microsoft Research.

]]>
Hands-on research and prototyping for haptics http://approjects.co.za/?big=en-us/research/blog/research-collection-hands-on-research-and-prototyping-for-haptics/ Mon, 10 May 2021 20:02:32 +0000 http://approjects.co.za/?big=en-us/research/?p=744157 While many of us think of human-computer interaction as a job for the eyes, ears and mind, we don’t think as often about the importance and complexity of our tactile interactions with computers. Haptics – the sense of touch or tactile sensations – permeates our computing experience, though we are often so habituated to it […]

The post Hands-on research and prototyping for haptics appeared first on Microsoft Research.

]]>
While many of us think of human-computer interaction as a job for the eyes, ears and mind, we don’t think as often about the importance and complexity of our tactile interactions with computers. Haptics – the sense of touch or tactile sensations – permeates our computing experience, though we are often so habituated to it that it goes unnoticed. Consider the feeling of resistance and key travel that moderates your typing speed and confirms that your key presses are working, a palpable “click” on the mouse or touchpad that confirms an action, the patterns of vibration in your pocket or on your wrist to signal a notification or incoming call, or the subtle vibration you experience on some mobile phones when typing on a touchscreen keyboard.

These forms of feedback give us confirmation of our interactions with computers, but haptics also provide “feed-forward” to orient us to computer interfaces: the ridges that help your fingers find your keyboard’s home row without looking, the shapes and orientations of the buttons on your gaming controllers, or the camera “bulge” or physical buttons that help you know which way is “up” on your mobile devices when you fumble for them in the dark.

The addition of haptics also blurs the distinction between input and output devices – the most familiar example of this is the touch screen, which allows us to more directly “grasp” and manipulate on-screen objects. The rapid proliferation of touch screens also brings to light the extent to which we quickly acclimate to new tactile interfaces – note how some young children, having used tablets from a very early age, assume that any screen (or even a printed magazine) has touch capabilities, and is disappointed or frustrated when it doesn’t.

One of the earliest explorations of haptics in human-computer interaction was a rotary knob (opens in new tab) implemented in 1973 (opens in new tab)that functioned both as an input and output device: it could change its physical characteristics depending on what it was controlling at the time. For instance, it could vary its resistance from free-wheeling to locked, or “snap” back to an initial position when turned. This device was introduced alongside one of the first implementations of a capacitive touch screen, as a proposed means of controlling the CERN particle accelerator.

While haptics in computing could someday encompass the entirety of tactile sensations, particularly in virtual reality – from vibrations and textures you feel in your feet, to sensations of heat, cold or a light breeze on your arm – a great deal of research so far has focused on the hands. Our hands are the tactile interface for most of the computing technology we use (as well as for the physical tools we have used for thousands of years), and their importance to our survival is reflected in our physiology: 54 of the human body’s 206 bones are in our hands.

In virtual environments, further developments in haptics will enable a more realistic physical experience – while the illusion created by current VR experiences “breaks” when the user interacts with a virtual object that has only visual or auditory signals of its apparent weight, shape or texture, future haptic devices could simulate the heft of a rock in a virtual forest and the sense of momentum when it is thrown or caught, the roughness of a stone wall, the roundness and pliability of a rubber ball, or the recoil of a weapon fired in a game.

Microsoft researchers have been exploring haptics for many years, and their work has generally covered three overlapping areas: the psychology of perception (and the illusions we can apply to manipulate it), the development of prototype haptic input and output devices, and user studies on the effectiveness of haptic techniques. This research could be applied to compensate for or augment other senses (such as through the CaneController for people with visual impairments), or to create a greater sense of immersion and agency in VR and AR environments.

Explore more

This research collection brings together a number of prototype devices and associated research at Microsoft that relates to haptic interfaces for the hands. Our researchers have focused on two main aspects of theory and practice: building prototypes, and using those prototypes to understand the limits and interactions of haptics inside devices. This way they have found that haptics can be rendered asymmetrically (for example, playing with the simulated force to grab and release) and that simulations of touch can also create an “uncanny valley” of Haptics.

The prototyping has focused on three basic interactions:

  • Palpation: The texture and responsiveness of a surface
  • Manipulation: The geometry of an object and its material qualities (such as rigidity)
  • Kinetic: The energy of an object and its momentum when thrown or caught

A more detailed taxonomy of interactions and corresponding research projects is below:

Hand haptics functional diagram

Explore more

NormalTouch / TextureTouch

NormalTouch and TextureTouch are mechanically actuated handheld controllers that render the shape of virtual objects through physical shape displacement, enabling users to feel 3D surfaces, textures and forces that match the virtual rendering. Both controllers are tracked with six degrees of freedom, and produce spatially registered haptic feedback to the user’s finger. NormalTouch haptically renders object surfaces and provides force feedback using a tiltable and extrudable platform. TextureTouch renders the shape of virtual objects including detailed surface structure through a 4×4 matrix of actuated pins. By moving our controllers around in space while keeping their finger on the actuated platform, users obtain the impression of a much larger 3D shape by cognitively integrating output sensations over time. Our evaluation compares the effectiveness of our controllers with the two de-facto standards in Virtual Reality controllers: device vibration and visual feedback only. We find that haptic feedback significantly increases the accuracy of VR interaction, most effectively by rendering high-fidelity shape output as in the case of our controllers. Participants also generally found NormalTouch and TextureTouch realistic in conveying the sense of touch for a variety of 3D objects.

Explore more

Haptic Revolver

The Haptic Revolver (Haptic Wheel) is a hand-held VR controller that renders fingertip haptics when interacting with virtual services. Its core element is an actuated wheel that raises and lowers underneath the finger to render contact with a virtual surface. As the user’s finger moves along the surface of an object, the controller spins the wheel to render shear forces and motion under the fingertip. The wheel is interchangeable and can contain physical textures, shapes, edges or active elements. Because the controller is spatially tracked, these physical features can be spatially registered with the geometry of the virtual environment and rendered on demand.

TORC

TORC is a rigid haptic controller that renders virtual object characteristics such as texture and compliance using the dexterity of the user’s fingers. Users hold and squeeze TORC using their thumb and two fingers, and interact with virtual objects by sliding their thumb on TORC’s trackpad. Vibrotactile motors produce sensations to each finger that represent the feel of squeezing, shearing or turning an object. Evaluation of the device showed that users could manipulate virtual objects more precisely with TORC than with conventional VR controllers.

Explore more

Claw

CLAW is a handheld virtual reality controller that augments typical controller functionality with force feedback and actuated movement to the index finger. The controller enables three distinct interactions (grasping a virtual object, touching virtual surfaces, and triggering) and changes its corresponding haptic rendering by sensing differences in the user’s grasp. A servo motor coupled with a force sensor renders controllable forces to the index finger during grasping and touching. Using position tracking, a voice coil actuator at the index fingertip generates vibrations for various textures synchronized with finger movement. CLAW also supports a haptic force feedback in the trigger mode when the user holds a gun. We describe the design considerations for CLAW and evaluate its performance through two user studies. The first study obtained qualitative user feedback on the naturalness, effectiveness, and comfort when using the device. The second study investigated the ease of the transition between grasping and touching when using our device.

Explore more

CapstanCrunch

CapstanCrunch is a force resisting, palm grounded haptic controller that renders haptic feedback for touching and grasping both rigid and compliant objects in a VR environment. In contrast to previous controllers, CapstanCrunch renders human-scale forces without the use of large, high force, electrically power consumptive and expensive actuators. Instead, CapstanCrunch integrates a friction-based capstan-plus-cord variable-resistance brake mechanism that is dynamically controlled by a small internal motor. The capstan mechanism magnifies the motor’s force by a factor of around 40 as an output resistive force. Compared to active force control devices, it is low cost, low electrical power, robust, safe, fast and quiet, while providing high force control to user interaction. We describe the design and implementation of CapstanCrunch and demonstrate its use in a series of VR scenarios. Finally, we evaluate the performance of CapstanCrunch in two user studies and compare our controller with an active haptic controller with the ability to simulate different levels of convincing object rigidity and/or compliance.

PIVOT

PIVOT is a wrist-worn haptic device that renders virtual objects into the user’s hand. Its simple design comprises a single actuated joint that pivots a haptic handle into and out of the user’s hand, rendering the haptic sensations of grasping, catching, or throwing an object – anywhere in space. Unlike existing hand-held haptic devices and haptic gloves, PIVOT leaves the user’s palm free when not in use, allowing users to make unencumbered use of their hand. PIVOT also enables rendering forces acting on the held virtual objects, such as gravity, inertia, or air-drag, by actively driving its motor while the user is firmly holding the handle. When wearing a PIVOT device on both hands, they can add haptic feedback to bimanual interaction, such as lifting larger objects.

Explore more

GamesBond

GamesBond is a pair of controllers, each with four degrees of freedom, that create the illusion of being connected as a single device, despite having no physical linkage. The two controllers work together by dynamically displaying and physically rendering deformations of hand grips, allowing users to perceive a single connected object between the hands, such as a jumping rope.

Explore more

The post Hands-on research and prototyping for haptics appeared first on Microsoft Research.

]]>
Innovation by (and beyond) the numbers: A history of research collaborations in Excel http://approjects.co.za/?big=en-us/research/blog/innovation-by-and-beyond-the-numbers-a-history-of-research-collaborations-in-excel/ Tue, 13 Apr 2021 22:10:47 +0000 http://approjects.co.za/?big=en-us/research/?p=738559 Microsoft Excel is one of the world’s most important software tools, relied upon by users worldwide to create, understand, model, predict, and collaborate. As the Excel team works to leverage new areas of computer science – advancements in programming languages, NLP, Artificial Intelligence, Machine Learning – they turn to Microsoft Research both to leverage the incredible […]

The post Innovation by (and beyond) the numbers: A history of research collaborations in Excel appeared first on Microsoft Research.

]]>

Microsoft Excel is one of the world’s most important software tools, relied upon by users worldwide to create, understand, model, predict, and collaborate. As the Excel team works to leverage new areas of computer science – advancements in programming languages, NLP, Artificial Intelligence, Machine Learning – they turn to Microsoft Research both to leverage the incredible work done in the organization as well as to help co-create a vision for what Excel should look like years into the future. The Excel team has built multiple long-term relationships with labs in Cambridge, China, and Redmond working in areas across data types, programming languages, analytics, web architecture, and error detection, many of which employ artificial intelligence, natural language processing, and machine learning. Not only has this allowed the Excel team to deliver innovation that would simply not have been possible otherwise, but it has also put research in a strategic role with material impact on the vision and resultant roadmap for Excel. Simply put, Microsoft researchers are now a core part of the Excel team helping create the product’s future.

David Gainer, Vice President of Product, Office

Not only is Microsoft Excel the world’s most widely used spreadsheet, it could be argued that it is also the world’s most widely used programming language. There are tens of millions of self-described professional and hobbyist developers worldwide: yet hundreds of millions of people use Excel, and many of them use it to build themselves sophisticated tools that go far beyond the original capabilities of a spreadsheet. Excel provides ordinary users with tools for deriving insights from data without necessarily needing to learn a complex programming language or data visualization techniques – a particularly important and useful benefit in a world that is awash in data. In doing so, Excel helped democratize and accelerate the field of data science.

In fact, Excel recently became Turing-complete with the availability of LAMBDA, which allows users to define new functions written in Excel’s own formula language. Having achieved Turing-completeness, it is now theoretically possible to solve any classical computation problem using the application.

This milestone is the latest in a long history of collaboration and exploration among researchers and product engineers to expand the capabilities of Excel – particularly, moving beyond scalar values (numbers, strings and Booleans) to encompass richer data types and a richer semantic understanding of that data. For nearly 20 years, researchers across several Microsoft labs have used spreadsheets as the starting point for advances in programming languages and techniques, as well as novel applications of AI, data mining and analytics, knowledge computing, natural language processing and software analytics. At the same time, working side-by-side with product teams to understand Excel users’ needs and behavior has surfaced new problems for researchers to solve, and inspired new research directions in programming languages and human-computer interaction.

This research collection recounts the long history of research collaboration with and contributions to Excel, including work from the Calc Intelligence and Spreadsheet Intelligence projects, the Data, Knowledge and Intelligence, Knowledge Computing and Software Analytics groups, as well as several other researchers and groups throughout the company.

Explore more

Microsoft research podcast

Abstracts: August 15, 2024

Advanced AI may make it easier for bad actors to deceive others online. A multidisciplinary research team is exploring one solution: a credential that allows people to show they’re not bots without sharing identifying information. Shrey Jain and Zoë Hitzig explain.

  1. 2003

    Researchers Simon Peyton-Jones, Margaret Burnett and Alan Blackwell publish A User-Centered Approach to Functions in Excel, which describes potential extensions to Excel that integrate user-defined functions into the spreadsheet grid – highlighting how programming language insights can be applied to a product not normally considered as a programming language. The following year, they publish Champagne Prototyping: A Research Technique for Early Evaluation of Complex End-User Programming Systems, which introduces new evaluation techniques for changes to end-user programming systems that are inexpensive to do, yet retain the credibility of evaluating changes with real users of the environment. These techniques were used in early studies into the benefits of user-defined functions within Excel – a research direction that laid the first stones on the road to LAMBDA and other product enhancements.

  2. 2009

    While returning from a conference, researcher Sumit Gulwani has a chance conversation with an Excel user that inspires further research into programming by example (PBE) and, later, a shipping feature in Excel 2013. Building on his experience in program verification and program synthesis, he worked with the product team to create Flash Fill, which automates tedious tasks by implementing code based on an example of what the user wants to do. Variants of this technology later shipped as part of PowerShell and Azure Operations Management Suite, and ideas from the related PROSE program synthesis project have been implemented in many other Microsoft products and services. The pioneering vision and impact of Flash Fill shipping in Microsoft Excel, reaching millions of users, has inspired numerous subsequent research and product offerings exploring the power of program synthesis to empower non-programmers.

    Explore more

  3. 2013

    Researchers and Excel program managers begin speaking with customers to gather more ideas for enhancements to Excel. The collected ideas were organized in a spreadsheet, naturally, and the most promising ideas were highlighted in yellow – the foundation for what would be internally called Project Yellow – a focused collaboration between researchers and product teams that eventually grew to incorporate capabilities such as logic abstraction and data typing into Excel.

    Meanwhile, researcher Andy Gordon and his collaborators published Tabular: A Schema-Driven Probabilistic Programming Language, which proposes a new kind of programming language for machine learning wherein programs are written by annotating existing relational schemas with probabilistic model expressions – a development with potential applications for spreadsheets, among other things. These ideas were explored in subsequent papers over the next several years, and Gordon would later work more closely with the Excel team on Project Yellow.

    Explore more

  4. 2014

    Microsoft researchers and Excel program managers continue to explore and refine the ideas they collected, drawing from ongoing research publications as well as further user research and scenario development work. They began developing early prototypes, and working with product leadership to define a plan to turn these ideas into usable features.

    Meanwhile, researchers continue to publish work that proposes new capabilities for spreadsheets, as well as new programming approaches that could be relevant to people using them to develop increasingly sophisticated tools. In the Data, Knowledge and Intelligence group in Microsoft Research Asia, researchers kick off the IN4 initiative (Interactive Intuitive Instant Insights), which works to enable two-way interaction between users and systems: where systems don’t just respond to user requests, they can identify and surface recommendations. (This builds on previous work in software analytics research that began in 2009.) This work leads to several features that ship as part of Excel in subsequent years.

    Explore more

  5. 2016

    a group of people standing around a table working on a spreadsheet exercise
    The Calc Intelligence team and Excel colleagues sharing a moment at Microsoft Research Cambridge, UK.

    Project Yellow begins to move from user research and brainstorming to development, with the creation of a more concrete plan and resource requirements to begin adding new capabilities to Excel. This work is recounted in a 2020 presentation to industry customers.

    In April 2018, two new data types – geography and stocks – are initially made available to Excel users who are part of the product’s Insiders program, and later rolled out to all users. This draws in part from Microsoft Research Asia researchers’ work on automated entity identification. Also that year, Excel added the ability to compute array values that spill over into adjacent cells, another product of collaboration between researchers and the program group.

    Meanwhile, other researchers at Microsoft continue to explore other ways to enhance spreadsheets, including the use of neural networks and automatic extraction of insights from multi-dimensional data (a concept later implemented in Excel as Excel Ideas / Analyze Data (opens in new tab)), while the Calc Intelligence group explored new ideas such as implementing multiple-representation spreadsheets to better detect and fix errors and perform abstract operations.

    In 2016, researchers at Microsoft Research Asia begin work on AnnaTalk, which enables users to query data using natural language – rather than writing a formula, users can ask Excel for “average sales per country,” for instance, as if they were talking with a data analyst. This taps into not just natural language capabilities, but also tabular intelligence: the ability to recognize and understand semantic data in tables (such as column and row titles), and the ability to recognize entities or data types within tabular data. This functionality is made available to PowerBI mobile users in 2017, and later ships to all Excel users in 2019. Some of the underlying entity recognition technology is used in several other Microsoft products and services, and has also been open-sourced (opens in new tab).

    Another area of research is the development of tools for spreadsheet users that better match the sophistication and capabilities of those available to software developers, such as tools to identify bugs. For instance, the Melford classifier referenced below uses neural networks to identify common spreadsheet errors – such as the inclusion of a number where a formula should be – that have been responsible for significant financial losses.

    At an internal company hackathon, the Calc Intelligence team creates a working demo for Calc Anywhere, a research vision to bring formula calculation to web applications such as Word or Teams, or even in Wikipedia. The demo, which showed formula evaluation within Word, won the hackathon and attracted the attention of a team of Excel developers based in Israel who were looking to implement client-side estimation in Excel for the web. Client-side estimation can dramatically improve the performance of web-based spreadsheets by evaluating formulas locally instead of in the cloud. The researchers and developers collaborated to rewrite the demo’s code in TypeScript, which became Calc.ts. This functionality began rolling out to customers in 2018.

    Building on the Project Yellow work, Microsoft researchers in Cambridge formally establish the Calc Intelligence project in 2018, which aims to bring intelligence to end-user programming, and in particular to spreadsheets – transcending grids and formulas to enhance and extend the spreadsheet, inspired by the many ways that users have re-purposed them as programming environments.

    Explore more

  6. 2019

    Ideas in Excel (now called Analyze Data) is made available to Excel users. This functionality draws from work in several areas from Microsoft Research, including the natural language capabilities developed as part of AnnaTalk and several efforts focused on understanding the semantic structure of tabular data. Together, these research breakthroughs enable a more natural and fluid way of manipulating and visualizing data in spreadsheets, while also working more proactively to suggest ideas to users.

    While development continues on scenarios and features identified by Project Yellow, including the implementation of first-class records and dynamic arrays, researchers across the company continue to use spreadsheets as a venue for research, as well as a testbed for explorations into user behavior. Key developments include using machine learning to identify and apply semantic understanding to content, as well as determining user intent; studies on how users perceive and manage uncertainty using spreadsheets despite their inherent limitations for doing so; and studies of the potential applicability to spreadsheets of probabilistic programming.

    Explore more

  7. 2020

    LAMDA function
    Example of a recursive LAMBDA function, which reverses a string using two auxiliary functions

    Project Yellow reaches a milestone with the introduction of LAMBDA, which allows users to define new functions written in Excel’s own formula language. These newly-defined functions can call other LAMBDA-defined functions, to arbitrary depth, even recursively – making Excel Turing-complete.

    While this is a major milestone for Project Yellow, it is by no means the end of the story. In the publications below, researchers use spreadsheets as the starting point for a wide variety of research projects – from using neural networks to automatically format tables, to furthering spreadsheets’ semantic understanding of the information they contain, to understanding the overlap between spreadsheet use and programming. These ideas promise to further enhance spreadsheet software used by hundreds of millions of people every day, while also helping to advance the state of the art in software development and human-computer interaction.

    Explore more

The post Innovation by (and beyond) the numbers: A history of research collaborations in Excel appeared first on Microsoft Research.

]]>
Research Collection – Shall we play a game? http://approjects.co.za/?big=en-us/research/blog/research-collection-shall-we-play-a-game/ Fri, 05 Feb 2021 21:01:57 +0000 http://approjects.co.za/?big=en-us/research/?p=720673 From a research point of view, games offer an amazing environment in which to develop new machine learning algorithms and techniques. And we hope, in due course, that those new algorithms will feed back not just into gaming, but into many other domains. Beyond the very technical machine learning techniques themselves, gaming is an environment […]

The post Research Collection – Shall we play a game? appeared first on Microsoft Research.

]]>

From a research point of view, games offer an amazing environment in which to develop new machine learning algorithms and techniques. And we hope, in due course, that those new algorithms will feed back not just into gaming, but into many other domains. Beyond the very technical machine learning techniques themselves, gaming is an environment in which we can explore the relationship between AI and people, and see how they can work in partnership. It’s a very rich environment in which to drive new research ideas.

Dr. Chris Bishop, Technical Fellow and Lab Director, Microsoft Research Cambridge

The history of computer gaming goes back nearly as far as the history of computer science itself. As early as the 1950s, researchers were using games to push the boundaries of computing, driving many advances in computer graphics and human-computer interaction. Games played a role in the earliest research into artificial intelligence, as researchers trained the ancestors of modern AI systems to learn and play games like chess and tic-tac-toe. From the 1960s campus phenomenon of Spacewar! to the insatiable demand for the latest generation of consoles, games endure as a popular and engaging pastime – and, for many future researchers and developers, as a gateway to a career in computer science.

Today, researchers are working to advance the state of the art in gaming in many different ways – enabling more realistic and immersive sound and graphics, using AI to improve gameplay and make gaming more engaging for spectators, and making games more accessible, inclusive and safer to play. Games continue to play a role in advancing artificial intelligence, offering up new challenges for AI models to solve, and using game environments to train language models and autonomous systems. Chess also continues to be fertile ground for AI research; most recently, researchers from Microsoft and their collaborators explore how to better match AI to human skill levels and playing styles.

Listen to this podcast with Dr. Chris Bishop and Microsoft Executive Vice President of gaming Phil Spencer about the intersection of research and gaming at Microsoft.

In February 2021, Microsoft Research hosted the AI and Gaming Research Summit, which brought together researchers and innovators from academia, creators from the gaming industry, Microsoft Research (MSR), and Gaming teams at Microsoft, to share ideas and discuss how AI and machine learning is transforming the landscape of gaming. All recorded talks are now available on the Videos tab at the event site.

This collection highlights much of the research happening across Microsoft to advance the state of the art in gaming, and put games to work to enable new breakthroughs in artificial intelligence.

Microsoft research podcast

Collaborators: Silica in space with Richard Black and Dexter Greene

College freshman Dexter Greene and Microsoft research manager Richard Black discuss how technology that stores data in glass is supporting students as they expand earlier efforts to communicate what it means to be human to extraterrestrials.

Games as a research tool

AirSim

simulated aerial drone navigating course

Microsoft AirSim (Aerial Informatics and Robotics Simulation) is an open-source robotics simulation platform. From ground vehicles, wheeled robotics, aerial drones, and even static IoT devices, AirSim can capture data for models without costly field operations. AirSim works as a plug-in to Epic Games’ Unreal Engine 4 editor, providing control over building environments and simulating difficult-to-reproduce, real-world events to capture meaningful data for AI models.

Using AirSim, researchers can capture data for machine learning models in a virtual environment, without costly field operations.

Explore more


Hybrid Reward Architecture

Hybrid Reward Architecture for Ms. Pac-Man

Games are popular as a testbed for new machine learning techniques because they can be very challenging and allow for easy analysis of new learning techniques in a controlled environment. For reinforcement learning (RL), where the goal is to learn good behavior in a data-driven way, the Arcade Learning Environment (ALE), which provides access to a large number of Atari 2600 games, has been a popular testing environment. The Hybrid Reward Architecture project combines standard reinforcement learning techniques with deep neural networks, with the aim of outperforming humans in Arcade Learning Environment (ALE) games. In 2017, it achieved a perfect score on Ms. Pac-Man.

Explore more


Project Malmo

Project malmo

The Malmo platform is a sophisticated AI experimentation platform built on top of Minecraft, and designed to support fundamental research in artificial intelligence.

The Project Malmo platform consists of a mod for the Java version, and code that helps artificial intelligence agents sense and act within the Minecraft environment. The two components can run on Windows, Linux, or Mac OS, and researchers can program their agents in any programming language they’re comfortable with.

Minecraft is ideal for artificial intelligence research for the same reason it is appealing to the millions of fans who enter its virtual world every day. Unlike other computer games, Minecraft offers its users endless possibilities, ranging from simple tasks, like walking around looking for treasure, to complex ones, like building a structure with a group of teammates.

Explore more


Super Phoenix (Suphx)

Suphx - Mahjong board

Mahjong is a popular multi-player imperfect-information game, but it is very challenging for AI research due to its complex playing/scoring rules and rich hidden information. In 2019, Microsoft researchers designed Super Phoenix (Suphx), an AI for Mahjong based on deep reinforcement learning with some newly introduced techniques including global reward prediction, oracle guiding, and run-time policy adaptation. Suphx has demonstrated stronger performance than most top human players in terms of stable rank and is rated above 99.99% of all the officially ranked human players in the Tenhou platform. This is the first time that a computer program outperformed most top human players in Mahjong.

Explore more


TextWorld

screen shot of the TextWorld interface

Text-based games may seem primitive next to the beautifully rendered graphics of today, but to succeed at even the simplest such game, humans use a special set of skills. We seamlessly and simultaneously comprehend language descriptions, plan our next moves, visualize the environment, remember important information, and generalize past experiences to new situations. AI agents don’t yet possess these capabilities, but they are key to general intelligence. Microsoft TextWorld is an open-source, extensible platform that both generates and simulates text-based games. It is a popular testing ground for AI, used by researchers to train, evaluate, analyze, and improve reinforcement learning (RL) agents that learn from and interact with the world through language.

Explore more


Research to improve the gaming experience

Project Paidia

example game screens used in Project Paidia

Project Paidia (opens in new tab) is a research project in close collaboration between Microsoft Research Cambridge and Ninja Theory (opens in new tab). Its focus is to drive state of the art research in reinforcement learning to enable novel applications in modern video games, in particular: agents that learn to collaborate with human players.

In contrast to traditional approaches to crafting the behavior of bots, non-player characters, or other in-game characters, reinforcement learning does not require a game developer to anticipate a wide range of possible game situations and map out and code all required behaviors. Instead, with reinforcement learning, game developers control a reward signal which the game character then learns to optimize while responding fluidly to all aspects of a game’s dynamics. The result is nuanced situation and player-aware emergent behavior that would be challenging or prohibitive to achieve using traditional Game AI.

Explore more


RoomAlive Toolkit

RoomAlive example scene

RoomAlive Toolkit is an open source SDK that transforms any room into an immersive, augmented, magical entertainment experience. RoomAlive Toolkit presents a unified, scalable approach for interactive projection mapping that dynamically adapts content to any room. Users can touch, shoot, stomp, dodge and steer projected content that seamlessly co-exists with their existing physical environment.

Explore more


SeeingVR

SeeingVR's low vision tools

SeeingVR is a research toolkit for making virtual reality more accessible to people with low vision – moderate to severe visual impairments that cannot be corrected fully by glasses. It includes a number of enhancements that provide visual and audio augmentations to existing VR experiences – including magnification, edge enhancement, brightness and contrast adjustment, text augmentation and text-to-speech. The toolkit also enables VR developers to add capabilities such as object descriptions and object labeling and highlighting. SeeingVR is designed to be used with the Unity VR development platform.

SeeingVR includes enhancements that help developers make VR more accessible to people with low vision.

Explore more


Project Triton

virtual world example in Project Acoustics

Project Triton renders immersive acoustics that responds to the shape and materials of 3D environments in games and augmented/virtual reality (AR/VR). It is unique in modeling the true wave physics of sound, including diffraction, producing natural effects like smooth occlusion and scene-dependent reverberation. Detailed simulation is performed offline, yielding a lightweight runtime that scales from desktop to mobile phones. Incubated over a decade in Microsoft Research, Project Triton ships in major game titles like Gears of War, Sea of Thieves, and Borderlands 3. Plugin integrations for Unity and Unreal Engine are available as part of Project Acoustics.

Explore more


TrueMatch

Developed by Microsoft researchers and based on reinforcement learning, the TrueMatch matchmaking system uses AI to decide which people should play together in online multiplayer games.

TrueMatch dynamically adjusts players’ matchmaking allowances based on their location and skill level. If there are many players nearby, then TrueMatch shrinks the allowances so that they only get fair matches with low ping. If there are few players nearby, TrueMatch expands the allowances. Previous systems expand the allowance only after a player has waited a long time in the queue. TrueMatch starts the search pre-expanded, cutting wait time in half in low population regions. TrueMatch can also give players a personalized estimate of their wait time, before they queue up to play.

TrueMatch has launched in Gears of War 4, Gears of War 5, and Halo 5.

Explore more


TrueSkill

The TrueSkill ranking system is a skill based ranking system for Xbox Live developed at Microsoft Research. The purpose of a ranking system is to both identify and track the skills of gamers in a game (mode) in order to be able to match them into competitive matches. TrueSkill has been used to rank and match players in many different games, from Halo 3 to Forza Motorsport 7.

The classic TrueSkill ranking system only uses the final standings of all teams in a match in order to update the skill estimates (ranks) of all players in the match. The TrueSkill 2 ranking system also uses the individual scores of players in order to weight the contribution of each player to each team. As a result, TrueSkill 2 is much faster at figuring out the skill of a new player.

An improved version of the TrueSkill ranking system, named TrueSkill 2 (opens in new tab), launched with Gears of War 4 (opens in new tab) and was later incorporated into Halo 5 (opens in new tab).

Explore more


Watch For

Developed by Microsoft researchers as part of a 2017 internal company hackathon, Watch For identifies and surfaces the most interesting parts of a livestream in real time. It recognizes text, symbols, objects, players and other elements that signal exciting moments in a game, and uses AI to learn over time as more streams and content are fed into the model. After winning the hackathon, the researchers worked with product groups to integrate the technology into HypeZone, which was part of the company’s Mixer game streaming service. The technology was subsequently incorporated into MSN’s Esports hub, and was also used by the Cloud9 professional esports organization to derive insights to support match preparation. Based on customer feedback and the team’s combined AI expertise and end-to-end distributed systems knowledge, the Watch For team is continuing their exploration in this area, and working on tools for enabling non-experts to efficiently extract video data.

The post Research Collection – Shall we play a game? appeared first on Microsoft Research.

]]>
Research Collection – Reinforcement Learning at Microsoft http://approjects.co.za/?big=en-us/research/blog/research-collection-reinforcement-learning-at-microsoft/ Mon, 07 Dec 2020 15:55:00 +0000 http://approjects.co.za/?big=en-us/research/?p=709156 Reinforcement learning is about agents taking information from the world and learning a policy for interacting with it, so that they perform better. So, you can imagine a future where, every time you type on the keyboard, the keyboard learns to understand you better. Or every time you interact with some website, it understands better […]

The post Research Collection – Reinforcement Learning at Microsoft appeared first on Microsoft Research.

]]>

Reinforcement learning is about agents taking information from the world and learning a policy for interacting with it, so that they perform better. So, you can imagine a future where, every time you type on the keyboard, the keyboard learns to understand you better. Or every time you interact with some website, it understands better what your preferences are, so the world just starts working better and better at interacting with people.

John Langford, Partner Research Manager, MSR NYC

Fundamentally, reinforcement learning (RL) is an approach to machine learning in which a software agent interacts with its environment, receives rewards, and chooses actions that will maximize those rewards. Research on reinforcement learning goes back many decades and is rooted in work in many different fields, including animal psychology, and some of its basic concepts were explored in the earliest research on artificial intelligence – such as Marvin Minsky’s 1951 SNARC machine, which used an ancestor of modern reinforcement learning techniques to simulate a rat solving a maze.

In the 1990s and 2000s, theoretical and practical work in reinforcement learning began to accelerate, leading to the rapid progress we see today. The theory behind reinforcement learning continues to advance, while its applications in real-world scenarios are leading to meaningful impact in many areas – from training autonomous systems to operate more safely and reliably in real-world environments, to making games more engaging and entertaining, to delivering more personalized information and experiences on the web.

Below is a timeline of advances that researchers and their collaborators across Microsoft have made in reinforcement learning, along with key milestones in the field generally.

Foundational work in reinforcement learning (1992-2014)

  1. 2016

    Work begins on Project Malmo

    Project malmo

    Researchers at Microsoft Research Cambridge introduce the Malmo Platform for Artificial Intelligence Experimentation (Project Malmo), which uses Minecraft as a platform to help AI learn to make sense of complex environments, learn from others, interact with the world, learn transferable skills and apply them to solve new problems.

  2. 2017

    AirSim for real world RL

    drone animation

    Microsoft researchers begin work on the Aerial Informatics and Robotics Platform (AirSim), an open-source robotics simulation platform that designers can use to generate the massive datasets required to train ground vehicles, wheeled robotics, aerial drones and other devices – without costly real-world field operations.

    Hybrid Reward Architecture wins Ms. Pac-Man

    Hybrid Reward Architecture for Ms. Pac-Man

    The Hybrid Reward Architecture project is established, combining standard reinforcement learning techniques with deep neural networks, with the aim of outperforming humans in Arcade Learning Environment (ALE) games. It achieves a perfect score on Ms. Pac-Man.

  3. 2018

    Bonsai: RL for autonomous systems

    Microsoft acquires (opens in new tab) Bonsai, which developed a novel “machine teaching” approach, based on reinforcement learning, that abstracts its low-level mechanics. This enables subject matter experts to specify and train autonomous systems to accomplish tasks, regardless of their AI experience.

    Teaching agents language, decision-making using games

    Microsoft Research Montreal researchers introduce TextWorld, an open-source, extensible engine that generates and simulates text games. This can be used to train reinforcement learning agents to learn skills such as language understanding and grounding, as well as sequential decision-making.

  4. Podcast: Malmo, Minecraft and machine learning with Dr. Katja Hofmann

    Podcast excerpt: “I look at how artificial agents can learn to interact with complex environments. And I’m particularly excited about possibilities of those environments being ones where they interact with humans. So, one area is, for example, in video games, where AI agents that learn to interact intelligently could really enrich video games and create new types of experiences. For example, learn directly from their interactions with players, remember what kinds of interactions they’ve had and be really more relatable and more responsive to what is actually going on in the game and how they’re interacting with the player.” Katja Hofmann, Principal Researcher, Microsoft Research Cambridge.

    Microsoft Research Asia applies RL to industry challenges

    Through deep engagement with customers in logistics, telecommunications, finance and other industries, researchers at Microsoft Research Asia worked to abstract many of their business tasks as a common sequential decision-making problem with interactive objects and large-scale optimization space. This led to a unified service, powered by multi-agent deep reinforcement learning, designed to respond to customers’ requests for AI solutions.

    This unified service consists of a cooperative policy learning framework with pre-trained heterogeneous representations and an optimization framework for graph sampling over imbalanced data. Customers have applied this service to successfully solve their real-world problems, such as resource repositioning, capacity provisioning, and portfolio rebalancing.

  5. 2019

    Microsoft launches Azure Cognitive Services Personalizer

    Microsoft researchers establish the Real World Reinforcement Learning project, with the goal of enabling the next generation of machine learning using interactive reinforcement-based approaches to solve real-world problems.

    One result of this work is the Azure Cognitive Services Personalizer, built on Microsoft Research’s Custom Decision Service and also supported by Vowpal Wabbit. In addition to its availability to the developer community, it is used by many teams at Microsoft, including Xbox, MSN, Microsoft.com and the Experiences & Devices division.

    Game of Drones competition

    Image from Game of Drones simulation

    At NeurIPS, Microsoft researchers host the first “Game of Drones” competition, in which teams race a quadrotor drone in AirSim to push the boundaries of building competitive autonomous systems. The competition focuses on trajectory planning and control, computer vision, and opponent drone avoidance.

    Project Paidia established

    Microsoft Research Cambridge and game developer Ninja Theory establish Project Paidia, to drive state-of-the-art research in reinforcement learning aimed at novel applications in modern video games. Specifically, its early work focuses on creating agents that learn to collaborate with human players.

    Also in 2019:

    • Airsim is released on the Unity platform.
    • Microsoft holds its first MineRL competition on sample-efficient reinforcement learning, in which participants attempt to mine a diamond in Minecraft using only four days of training time. The top solutions are recounted in this 2020 paper.

    Suphx uses RL to outperform human players in Mahjong

    Mahjong is a popular multi-player imperfect-information game, but it is very challenging for AI research due to its complex playing/scoring rules and rich hidden information. In 2019, Microsoft researchers designed Super Phoenix (Suphx), an AI for Mahjong based on deep reinforcement learning with some newly introduced techniques including global reward prediction, oracle guiding, and run-time policy adaptation. Suphx has demonstrated stronger performance than most top human players in terms of stable rank and is rated above 99.99% of all the officially ranked human players in the Tenhou platform. This is the first time that a computer program outperformed most top human players in Mahjong.

  6. 2020
  7. 2021

    Microsoft will host its third Reinforcement Learning Day event in January 2021. This virtual workshop will feature talks by a number of outstanding speakers whose research covers a broad swath of the topic, from statistics to neuroscience, from computer science to control. A key objective is to bring together the research communities of all these areas to learn from each other and build on the latest knowledge.

The post Research Collection – Reinforcement Learning at Microsoft appeared first on Microsoft Research.

]]>
Research Collection – Re-Inventing Storage for the Cloud Era http://approjects.co.za/?big=en-us/research/blog/research-collection-re-inventing-storage-for-the-cloud-era/ Mon, 09 Nov 2020 20:12:21 +0000 http://approjects.co.za/?big=en-us/research/?p=702310 “One of the challenges for us as a company, and us as an industry, is that many of the technologies we rely on are beginning to get to the point where either they are at the end, or they’re starting to get to the point where you can see the end. Moore’s Law is a […]

The post Research Collection – Re-Inventing Storage for the Cloud Era appeared first on Microsoft Research.

]]>

“One of the challenges for us as a company, and us as an industry, is that many of the technologies we rely on are beginning to get to the point where either they are at the end, or they’re starting to get to the point where you can see the end. Moore’s Law is a well-publicized one and we hit it some time ago. And that’s a great opportunity, because whenever you get that rollover, you get an opportunity to be able do things differently, to have new ways of doing things.”

– Ant Rowstron, Distinguished Engineer and Deputy Lab Director, Microsoft Research Cambridge

It is projected that around 125 zettabytes of data will be generated annually by 2024. Storing this data efficiently and cost-effectively will be a huge challenge. Growth in storage capabilities using SSDs, HDDs or magnetic tape has not kept up with the exponential growth in compute capacity, the surge in data being generated, or the novel economics and storage needs of cloud services.

Future demands from intelligent edge and Internet of Things (IoT) deployments, streaming audio, video, virtual and mixed reality, “digital twins” and use cases we haven’t yet predicted will generate lots of bits – but where will we keep them?

This requires more than incremental improvements – it demands disruptive innovation. For many years, Microsoft researchers and their collaborators have been exploring ways to make existing storage approaches more efficient and cost-effective, while also forging entirely new paths – including storing data in media such as glass, holograms and even DNA.

Diagram showing the cloud storage landscape
Research efforts in storage cover the spectrum from “hot” data, which is read and written frequently and requires very fast performance, to “cool” data, which is generally archival in nature and is retrieved infrequently (see diagram).

In this clip from the Microsoft Research Podcast, Ant Rowstron discusses how various storage media are reaching their useful limits in the datacenter. Listen to the full episode.

If you think of most of the technologies we use to store data today – things like flash, things like hard disk drives, things like tape – it’s true to say that they were all designed before the cloud existed. And in fact, they were all designed to work in multiple scenarios. You know, the flash chips have to work in your phone as well as in the datacenters. Or the hard disk drives have to work with desktop machines as well as in the datacenters. So, there’s compromises that have been made. And, in fact, many of those technologies, if you think of a sort of S-curve where you got time, and you’ve got the metric of interest, you get a new technology comes along like a hard disk drive, it starts off very slowly and then hits its sort of main speed and it’s sort of going nicely. It’s, you know, doubling every two years or three years if you’re a hard disk drive. And then you get to the point where it actually stops just, basically, exploiting the property they were exploiting, and it rolls over and becomes flat. And I think one of the challenges for us as a company, and us as an industry, is that many of the technologies we rely on are beginning to get to the point where either they are at the end, or they’re starting to get to the point where you can see the end. And of course, Moore’s Law is a well-publicized one and we hit it some time ago. And that’s a great opportunity, because whenever you get that rollover, you get an opportunity to be able do things differently, to have new ways of doing things.

Re-Imagining Storage

Researchers have taken a holistic approach to making storage more efficient and cost-effective, using the emergence of the cloud as an opportunity to completely re-think storage in an end-to-end fashion. They are co-designing new approaches across layers that are traditionally thought of as independent – blurring the lines between storage, memory and network. At the same time, they’re re-thinking storage from the media up – including storing data in media such as glass, holograms and even DNA.

This work extends back more than two decades: in 1999, Microsoft researchers began work on Farsite, a secure and scalable file system that logically functions as a centralized file server, but is physically distributed among a set of untrusted computers. This approach would utilize the unused storage and network resources of desktop computers to provide a service that is reliable, available and secure despite running on machines that are unreliable, often unavailable and of limited security. In 2007, researchers published a paper that explored the conditions under which such a system could be scalable, the software engineering environment used to build the system, and the lessons learned in its development.

At Microsoft Research Cambridge, researchers began exploring optimizing enterprise storage using off-the-shelf hardware in the late 2000s. They explored off-loading data from overloaded volumes to virtual stores to reduce power consumption and to better accommodate peak I/O request rates. This was an early example of storage virtualization and software-defined storage, ideas that are now widely used in the cloud. As solid-state drives (SSDs) became more commonplace in PCs, researchers considered their application in the datacenter – and concluded that they were not yet cost-effective for most workloads at current prices. In 2012, they analyzed potential applications of non-volatile main memory (NVRAM) and proposed whole-system persistence (WSP), an approach to database and key-value store recovery in which memory rather than disk is used to recover an application’s state when it fails – blurring the lines between memory and storage.

In 2011, researchers established the Software-Defined Storage Architectures project, which brought the idea of separating control flow from data from networking to storage, to provide predictable performance and reduced cost. IOFlow is a software-defined storage architecture that uses a logically centralized control plane to enable end-to-end policies and QoS guarantees, which required rethinking across the data center storage and network stack. This principle was extended to other cloud resources to create a virtual data center per tenant. In this 2017 article the researchers describe the advantages of intentionally blurring the lines between virtual storage and virtual networking.

Established in 2012, the FaRM project explored new approaches to using main memory for storing data with a distributed computing platform that exploits remote direct memory access (RDMA) communication to improve both latency and throughput by an order of magnitude compared to main memory systems that use TCP/IP. By providing both strong consistency and high performance – challenging the conventional wisdom that high performance required weak consistency – FaRM allowed developers to focus on program logic rather than handling consistency violations. Initial developer experience highlighted the need for strong consistency for aborted transactions as well as committed ones – and this was then achieved using loosely synchronized clocks.

At the same time, Project Pelican addressed the storage needs of “cold” or infrequently-accessed data.  Pelican is a rack-scale disk-based storage unit that trades latency for cost; using a unique data layout and IO scheduling scheme to constrain resources usage so that only 8% of its drives can spin concurrently. Pelican was an example of rack-scale co-design: rethinking the storage, compute, and networking hardware as well as the software stack at a rack scale to deliver value at cloud scale.

To further challenge traditional ways of thinking about the storage media and controller stack, researchers began to consider whether a general-purpose CPU was even necessary for many operations. To this end, Project Honeycomb tackles the challenges of building complex abstractions using FPGAs in CPU-free custom hardware, leaving CPU-based units to focus on control-plane operations.

Explore more


Optics for the Cloud

Microsoft Research Cambridge’s Optics for the Cloud program conducts research to advance and enable the adoption of optical technologies in the rapidly growing field of cloud computing. In addition to novel applications of optics to reinvent local and wide-area networking, this program also is exploring two new approaches to data storage – glass and holography.

Explore more


Holographic Storage

Holographic storage research testbed at Microsoft Research Cambridge
Holographic storage research testbed at Microsoft Research Cambridge

Holographic storage was first proposed back in the 1960s, shortly after the invention of the laser. Holographic optical storage systems store data by recording the interference between the wave-fronts of a modulated optical field, containing the data, and a reference optical field, as a refractive index variation inside the storage media. It is this information containing refractive index variation that is the “hologram”. The stored data can then be retrieved by diffracting only the reference field off the hologram to reconstruct the original optical field containing the data.

Capitalizing on recent exponential improvements and commoditization in optical technologies, Project HSD is a collaboration between Microsoft Research Cambridge and Microsoft Azure to re-vitalize and re-imagine holographic storage with a cloud-first design. Researchers in physics, optics, machine learning and storage systems are working together to design mechanical movement free, high-endurance cloud storage that is both performant and cost-effective. This has led to new research challenges and breakthroughs in areas ranging from materials to machine learning.

Explore more


Project Silica

Project Silica

Another project at Microsoft Research is exploring a different medium that can meet our future storage needs for long-lived “cold” data – glass. Glass is an incredibly durable material – it can withstand being boiled in water, microwaved, flooded, scoured and demagnetized.

Project Silica is developing the first-ever storage technology designed and built from the media up, using glass, for the cloud. Researchers are leveraging recent discoveries in ultrafast laser optics to store data in quartz glass by using femtosecond lasers, and building a completely new storage system designed from scratch around this technology. This opens up exciting opportunities to challenge and completely re-think traditional storage system design, and to co-design the future hardware and software infrastructure from the cloud.

As a proof of concept, Microsoft and Warner Bros. collaborated to successfully store and retrieve the entire 1978 “Superman” movie on a piece of glass roughly the size of a drink coaster. This project leverages advances first developed at the University of Southampton Optoelectonics Research Centre, and was featured in a Microsoft Ignite 2017 keynote (opens in new tab) on future storage technologies.

Explore more


DNA Storage

DNA Storage

In addition to optical methods, DNA is also an attractive possibility for long-term data storage. DNA is extremely dense – in practice, it could store up to 1 exabyte per cubic inch. It is very durable, and can last for hundreds or even thousands of years. And it is future-proof: humans will be interested in reading their DNA for as long as humans are around, so technologies to read and write DNA will surely endure. Starting in 2015, Microsoft and University of Washington researchers have been collaborating to use DNA as a high-density, durable and easy-to-manipulate storage medium. The DNA Storage project enables molecular-level data storage into DNA molecules by leveraging biotechnology advances in synthesizing, manipulating and sequencing DNA to develop archival storage.

DNA storage: image of a pencil tip and a test tube tip

In this clip from the Microsoft Research Podcast, Karin Strauss discusses several properties of DNA that make it a promising medium for data storage. Listen to the full episode.

We’re very excited about DNA for at least three of its properties. The first one is density. So instead of really storing the bits into devices that we have to manufacture, we are really looking at a molecule, storing data in a molecule itself. And so, a molecule can be a lot smaller than the devices we’re making. Just to give you an example, you could store the information, today stored in a datacenter, one exabyte of data, into a cubic inch of DNA. So that’s quite tiny. Durability is the next interesting property of DNA. And so, DNA, if preserved under the right conditions, can keep for a very long time, which is not necessarily possible with media that’s commercial today. I think the longest commercial media is rated for thirty years. That’s tape. Still tape! DNA, if encapsulated in the right conditions, has been shown to survive thousands of years. And so, it’s very interesting from a data preservation perspective as well. And then, one other property is that, now that we know how to read DNA and we’ll always have the technology to read it. So now we’ll have those readers… (if we don’t have those readers, we have a real problem) …but we’ll have those readers forever, as long as there is civilization. So, it’s not like floppy disks that are in the back of a drawer just gathering dust. We’ll really have technology to read it.

While DNA storage at scale is not yet practical, due to the current state of DNA synthesis and sequencing, these technologies are improving quite rapidly with advances in the biotech industry. At the same time, the impending limits of silicon technology as Moore’s Law comes to an end create an incentive to further explore the use of biotechnology for computation as well as storage. For instance, DNA-based databases were proposed decades ago; more recent evidence of their practicality has renewed interest in related theory and applications. In this area, Microsoft researchers have designed a DNA-based digital data store equipped with a mechanism for content-based similarity search (see paper below).

Explore more

The post Research Collection – Re-Inventing Storage for the Cloud Era appeared first on Microsoft Research.

]]>
Research Collection: The Unseen History of Audio and Acoustics Research at Microsoft http://approjects.co.za/?big=en-us/research/blog/research-collection-the-unseen-history-of-audio-and-acoustics-research-at-microsoft/ Wed, 12 Aug 2020 16:00:21 +0000 http://approjects.co.za/?big=en-us/research/?p=681651 Getting the sound right is a crucial ingredient in natural user interfaces, immersive gaming, realistic virtual and mixed reality, and ubiquitous computing.

The post Research Collection: The Unseen History of Audio and Acoustics Research at Microsoft appeared first on Microsoft Research.

]]>
Audio and Acoustics Research at Microsoft

Getting the sound right is a crucial ingredient in natural user interfaces, immersive gaming, realistic virtual and mixed reality, and ubiquitous computing. Audio also plays an important role in assistive technologies for people who are blind or have low vision, and speech recognition and processing can help support those who are deaf or hard of hearing. Although computers have been capable of playing and processing high-fidelity audio for many decades, there are many frontiers left to explore in computational recognition, analysis and rendering of sound for speech or immersive sound fields.

audio and acoustics: woman and man setting up a dummy in anachoic chamber

Audio has been a key research area since Microsoft Research was founded in 1991 – in its first year, researchers used audio data as well as other cues to explore automatic summarization of audiovisual presentations. Over the years, there have been steady and significant research advances in speech recognition, natural user interfaces, audio as a tool for collaboration and productivity, capturing and reproducing sound, spatial audio, acoustic simulation and audio analytics.

Many of these advances have shipped in Microsoft products and services like Windows 10, Kinect, HoloLens and Teams, as well as Ford’s SYNC in-car infotainment system, Polycom’s videoconferencing devices, and major game titles such as Gears of War, Sea of Thieves and Borderlands 3. Still more are working their way into future products and services, and into the hands of developers.

Use the timelines below to explore several threads of audio and acoustics research as they evolved from theories and experiments to real-world applications.


Speech recognition and natural user interfaces

  1. 2002

    Microsoft researchers establish the Sound Capture and Speech Enhancement project

    The Sound Capture and Speech Enhancement project begins to explore areas such as acoustic echo reduction, microphone array processing and noise reduction.

  2. 2007

    Ford releases SYNC

    Ford releases the first version of its SYNC in-car infotainment system, with a speech enhancement audio pipeline first designed by Microsoft researchers.

    audio and acoustics: man standing in front of Experience Ford SYNC kiosk
  3. 2007

    Windows support for microphone arrays

    Microsoft releases Windows Vista, including support for four preselected microphone array geometries and standardized support for USB microphone arrays. Later, Windows 10 is updated to include support for microphone arrays with arbitrary geometry.

  4. 2010
  5. 2016

    Microsoft releases HoloLens

    Microsoft releases HoloLens, which contains a four-element microphone array and a sophisticated sound capture and speech enhancement system for capturing the voice of the wearer and the ambient sound environment.

    image of hands holding a Hololens device
  6. 2017

    Researchers begin exploring neural networks for speech enhancement

    In 2017, Microsoft researchers establish the Neural Networks-Based Speech Enhancement project, which aims for more accurate and reliable speech processing, particularly on mobile, wearable, smart home and IoT devices – which, unlike previous devices, present new challenges such as noisier background environments, greater speaker-microphone distances, and limited edge processing abilities.

  7. 2019

    Microsoft releases HoloLens 2

    The device contains a five-element microphone array and sophisticated sound capture and speech enhancement system for capturing the voice of the wearer as well as the ambient sound environment. Researchers explored key components of its speech enhancement technology earlier in the year.

  8. 2020

    Speech enhancement incorporated into Microsoft Teams

    Microsoft CEO Satya Nadella announces (opens in new tab) that new improvements to Microsoft Teams will include a neural network-based speech enhancement algorithm.

Microsoft research podcast

What’s Your Story: Lex Story

Model maker and fabricator Lex Story helps bring research to life through prototyping. He discusses his take on failure; the encouragement and advice that has supported his pursuit of art and science; and the sabbatical that might inspire his next career move.


Audio for collaboration and productivity

  1. 1991

    Microsoft researchers publish their first audio-related paper, on the automatic summarization of multimedia presentations.

    audio and acoustics: 1991 software testing window UI
    The slides, shown on right, are synchronized with summary-segment transitions derived from the presentation at left.

  2. 1996

    Seeing the sound

    audio and acoustics: man standing in front on a large VR screen with hands up

    In 1996, Microsoft researchers explore ways to use vision data to capture and render sound in interactive environments.

  3. 1999

    Progress in audio detection and classification

  4. 2001

    Project RingCam established

    Microsoft researchers establish Project RingCam, to explore 360-degree videoconferencing.

    audio and acoustics: project RingCam video conference screen
  5. 2007

    Microsoft RoundTable ships with speaker detection technology

    photo of the Microsoft RoundTable video conferencing device

    Speaker detection technology developed by Microsoft researchers ships as part of the Microsoft Roundtable conferencing system.

    The technology is later sold to Polycom and released as the Polycom CX5000.


Capturing and reproducing sound

  1. 1998

    Researchers begin experimenting with microphone arrays

    Microsoft researchers build their first microphone array, using an Erector set.

    audio and acoustics: prototype of microphone array
    This is one of the first prototypes of microphone arrays designed in the Signal Processing group by Rico Malvar and Dinei Fiorencio in 1998.
  2. 2005

    USB microphone array prototypes

    Microsoft researchers establish the Audio Devices project, and build and evaluate two USB microphone array prototypes: a four element linear array and an eight element circular array.

  3. 2007

    An anechoic chamber in Building 99

    Microsoft Research Redmond moves into its new home in Building 99. The building includes the company’s first anechoic chamber.

    view of inside the anechoic chamber

    Key publications from 2007:

  4. 2009

    Anechoic chamber retrofitted to measure sound in 3D

    The anechoic chamber in Building 99 is retrofitted to automatically measure 3D directivity and radiation patterns, including human spatial hearing. It uses a 3D scanner with sub-millimeter accuracy to measure the head and torso. Among other things, this enables the advancement of head-related transfer functions (HRTFs), which can enable more realistic-sounding spatial audio.

    The Microsoft Research anechoic chamber set for measuring human spatial hearing.
    The Microsoft Research anechoic chamber set for measuring human spatial hearing.
    Microsoft Campus Tours – Microsoft Research Part 1 – The Anechoic Chamber
  5. 2012

    Progress in microphone arrays

    Microsoft researchers build a spherical 16 channel microphone array and a cylindrical 16 channel microphone array to study sound field decomposition using spherical and cylindrical functions. In 2016, they build a 64-channel spherical microphone array.

  6. 2017

    A new approach to gesture recognition

    Ultrasound-based Gesture Recognition – This paper introduces a new approach to gesture recognition using ultrasound waves, which uses significantly less power than optical systems.

    audio and acoustics: figures showing ultrasound based gesture recognition setup
    Figure 1: Left: Hardware set-up and close-up of the ultrasonic piezoelectric transducer at the center and an 8-element microphone array around it in a circular configuration.

    Figure 2: Right: Block diagram of the proposed approach.
  7. 2018

    Live 360 audio and video streaming

  8. 2019

    Project Denmark established

    Microsoft researchers establish Project Denmark, which aims to achieve high-quality capture of meeting conversations using virtual microphone arrays composed of ordinary consumer devices such as mobile phones and laptops.


Spatial audio

  1. 2012

    New directions for spatial audio

    Microsoft researchers begin exploring new approaches to head-related transfer functions (HRTFs), which represent the acoustic transfer function from a sound source at a given location to the ear drums of a human. A potential consequence of this work is more realistic spatial audio that is tuned to the shape of the listener’s head and torso.

  2. 2015

    Virtual surround sound in Windows 10

    Microsoft releases Windows 10 with support for virtual surround sound, marketed as Windows Sonic. This spatial audio rendering system is later released as part of HoloLens.

  3. 2016

    Personalized audio rendering in HoloLens

    Microsoft releases HoloLens. The device features an audio rendering system with on-the-fly personalization of the wearer’s spatial hearing.

  4. 2016

    Microsoft releases the Windows Mixed Reality platform

    Windows 10 includes support for virtual and mixed reality headsets manufactured by other companies. The platform contains an extended and improved version of the spatial audio engine.

  5. 2017

    A map delivered in 3D sound

    Man holding a smart phone, standing next to his guide dog

    Microsoft releases Soundscape (in collaboration with Guide Dogs UK) – a helper app for visually impaired people, which includes a spatial audio rendering system. Read about the research behind the product.

  6. 2018

    Podcast: Hearing in 3D with Dr. Ivan Tashev

    Ivan Tashev podcast

    In this podcast, Dr. Tashev provides an overview of the quest for better sound processing and speech enhancement, describes the latest innovations in 3D audio, and explains why the research behind audio processing technology is, thanks to variations in human perception, equal parts science, art and craft.

    Key publications from 2018:


Acoustic simulation

  1. 2010

    Microsoft researchers establish Project Triton

    Prior to 2010, a key challenge in interactive audio had been the fast modeling of wave effects in complex game scenes: smooth sound obstruction around doorways, or dynamic reverberation, responsive to both source and listener motion. In the paper below, Microsoft researchers introduced the idea of pre-computing physically accurate wave simulations, and showed that it was a viable path forward for interactive audio and games.

    Project Triton explores a physics-based approach to modeling virtual environments, for more realistic in-game audio.

  2. 2012

    Researchers begin collaboration with game studios

    Microsoft researchers begin collaborating with The Coalition Studio to incorporate this acoustic simulation work into Gears of War, transitioning from exploratory research to a targeted redesign focused on performance and flexibility.

    • 2013: The first working prototype of Project Triton is demonstrated internally.
    • 2014: This paper describes the core design of Project Triton, combining perceptual coding, spatial compression and parametric rendering. The design solves the problem of system resource usage, and integrates easily into existing audio tools. Later work has built on this core design, with various improvements.
    • 2015: A Microsoft Research summer intern researches a novel adaptive sampling approach to resolve a key robustness issue in Project Triton.
  3. 2016

    Project Triton ships in Gears of War 4

    Project Triton ships as part of Gears of War 4 – the first instance of game acoustics provided by accurate physics-based simulation.

    GDC 2017 talk on Gears of War integration
  4. 2017

    Project Triton in Virtual and Mixed Reality

    Screenshot of the Mixed Reality experience in Windows 10

    After years of development and refinement for use in games, Project Triton is used in the Mixed Reality experience shipped as part of the Windows 10 Fall Creator’s Update. It provides a natural acoustic experience in the virtual “cliffhouse” space, with new directional acoustics features such as sound that is obstructed by virtual objects, or heard as if coming around corners or through doorways. This experience also incorporates advances in HRTFs described in the previous timeline.

    In 2018, Project Triton ships as part of Sea of Thieves, the second game to incorporate this technology. The game included custom modifications for evaluating acoustics modularly, illustrating the flexibility of the system.

  5. 2019

    Podcast: Project Triton and the Physics of Sound with Dr. Nikunj Raghuvanshi

    Nikunj Raghuvanshi

    In this podcast, Dr. Raghuvanshi wants you to hear how sound really travels – in rooms, around corners, behind walls, out doors – and he’s using computational physics to do it.
  6. 2019

    Project Triton technology released as Project Acoustics

    Microsoft makes Project Triton technology available to developers as Project Acoustics (opens in new tab), including Unity and Unreal plugins for easy integration into games and research prototypes.

    • 2019: Gears of War 5 ships, with an immersive audio experience that combines headphone rendering technologies such as Windows Sonic and Dolby Atmos with Triton’s scene-informed sound propagation.
    • 2019: Borderlands 3 ships. This is the first game studio outside Microsoft to employ Project Triton.
    Screenshot of Borderlands 3 game

  7. 2020

    Project Acoustics incorporated into HoloLens

    This milestone marks the first demonstration of physical acoustics in augmented reality.

  8. 2020
    Webinar with Nikunj Raghuvanshi

    In this webinar, Microsoft Principal Researcher Dr. Nikunj Raghuvanshi covers the ins and outs of creating practical, high-quality sound simulations. It includes an overview of the three components of sound simulation: synthesis, propagation, and spatialization, as well as a focus on Project Triton. For each, he will review the underlying physics, research techniques, practical considerations, and open research questions.


Audio analytics

  1. 2010

    Audio Analytics project established

    Microsoft researchers establish the Audio Analytics project, to explore research directions such as extracting non-verbal cues from human speech, detecting specific audio events and background noise, and audio search and retrieval. Potential applications include customer satisfaction analysis from customer support calls, media content analysis and retrieval, medical diagnostic aids and patient monitoring, assistive technologies for people with hearing impairments, and audio analysis for public safety.

  2. 2015

    “Hey, Cortana” uses speaker identification

    Microsoft releases Windows 10 with speaker identification as part of the “Hey, Cortana” wake-up feature.

Back to top >

The post Research Collection: The Unseen History of Audio and Acoustics Research at Microsoft appeared first on Microsoft Research.

]]>
Research Collection: Tools and Data to Advance the State of the Art http://approjects.co.za/?big=en-us/research/blog/research-collection-tools-and-data-to-advance-the-state-of-the-art/ Tue, 19 May 2020 15:01:35 +0000 http://approjects.co.za/?big=en-us/research/?p=658872 “This is a game changer for the big data community. Initiatives like Microsoft Research Open Data reduce barriers to data sharing and encourage reproducibility by leveraging the power of cloud computing” —Sam Madden, Professor, Massachusetts Institute of Technology An open and collaborative research culture has always been central to research at Microsoft – as a […]

The post Research Collection: Tools and Data to Advance the State of the Art appeared first on Microsoft Research.

]]>

“This is a game changer for the big data community. Initiatives like Microsoft Research Open Data reduce barriers to data sharing and encourage reproducibility by leveraging the power of cloud computing”

Sam Madden, Professor, Massachusetts Institute of Technology

An open and collaborative research culture has always been central to research at Microsoft – as a researcher, it’s part of your job description to exchange ideas and share work among researchers, product engineers and developers at Microsoft, as well as the broader academic community.

Microsoft researchers and their collaborators have published tens of thousands of peer-reviewed papers since Microsoft Research’s founding in 1991. In the course of that research, they have created a wealth of tools and datasets that have been shared with the world to help advance the state of the art across all disciplines. They are available to be used by researchers and practitioners alike – not only in computer science and software development, but also in research across a wide variety of fields.

Microsoft Research Blog

Microsoft Research Forum Episode 3: Globally inclusive and equitable AI, new use cases for AI, and more

In the latest episode of Microsoft Research Forum, researchers explored the importance of globally inclusive and equitable AI, shared updates on AutoGen and MatterGen, presented novel use cases for AI, including industrial applications and the potential of multimodal models to improve assistive technologies.

Below is a selection of those tools and datasets; visit our researcher tools page to see hundreds more, including code and data that can be used to reproduce the results of research papers.

Read our blog, listen to our podcast, and subscribe to our newsletter to stay up to date on all things research at Microsoft.


See sections on: MSR Open Data | AI and Machine Learning | Sound, Vision, Visualization and Interaction | Accessibility and Inclusion | Privacy and Security | Systems and Programming


MSR Open Data

Microsoft Research Open Data is a data repository that makes available datasets that researchers at Microsoft have created and published in conjunction with their research. Our goal is to provide a simple platform to Microsoft’s researchers and collaborators to share datasets and related research technologies and tools. The site has been designed to simplify access to these data sets, facilitate collaboration between researchers using cloud-based resources, and enable the reproducibility of research. Visit Microsoft Open Data for the latest datasets and related research assets.

AI and Machine Learning

AI Fairness Checklist

AI fairness checklists can help teams mitigate potential sources of unfairness in their products by providing organizational infrastructure for formalizing ad-hoc processes and empowering individual advocates of fairness. Through a series of semi-structured interviews and co-design workshops, we co-designed an AI fairness checklist and identified desiderata and concerns for AI fairness checklists in general. This checklist can help you prioritize fairness when developing AI systems.

AirSim

Microsoft AirSim (Aerial Informatics and Robotics Simulation) is an open-source robotics simulation platform. From ground vehicles, wheeled robotics, aerial drones, and even static IoT devices, AirSim can capture data for models without costly field operations. AirSim works as a plug-in to Epic Games’ Unreal Engine 4 editor, providing control over building environments and simulating difficult-to-reproduce, real-world events to capture meaningful data for AI models.

Using the research tool AirSim, researchers can capture data for machine learning models in a virtual environment, without costly field operations.

Using AirSim, researchers can capture data for machine learning models in a virtual environment, without costly field operations.

Backward Compatibility ML

The Backward Compatibility ML library is an open-source project for evaluating AI system updates in a new way, to help increase system reliability and human trust in AI predictions for actions. This project’s series of loss functions provides important metrics that extend beyond the single score of accuracy. These support ML practitioners in navigating performance and tradeoffs in system updates, and they integrate easily into existing AI model-training workflows. Simple visualizations, such as Venn diagrams, further help practitioners compare models and explore performance and compatibility tradeoffs for informed choices.

Datasheets for Datasets Template

Inspired by datasheets for electronic components, datasheets for datasets can be used to document characteristics of a dataset, including its motivation, composition, collection process, pre-processing, labeling, intended uses, distribution, and maintenance. Datasheets help dataset creators uncover potential sources of bias or hidden assumptions in their datasets. They help dataset consumers determine if a dataset meets their needs. Consider these questions to help prioritize transparency by creating a datasheet for your own dataset.


Explore more


DeepSpeed / ZeRO

Part of Microsoft’s AI at Scale initiative, DeepSpeed is a PyTorch-compatible library that vastly improves large model training by improving scale, speed, cost and usability – unlocking the ability to train models with more than 100 billion parameters. One piece of the DeepSpeed library, ZeRO 2, is a new parallelized optimizer that greatly reduces the resources needed for model and data parallelism while massively increasing the number of parameters that can be trained.

DialoGPT: Large-Scale Pretrained Response Generation Model

The DialoGPT project establishes a foundation for building versatile open-domain chatbots that can deliver engaging and natural conversational responses across a variety of conversational topics, tasks, and information requests, without resorting to heavy hand-crafting. These bots are enabled in part by the advent of large-scale transformer-based pretraining methods such as GPT-2 and BERT.

DialoGPT adapts pretraining techniques to response generation using hundreds of gigabytes of colloquial data. Like GPT-2, DialoGPT is formulated as an autoregressive (AR) language model, and uses a multi-layer transformer as model architecture. Unlike GPT-2, which trains on general text data, DialoGPT draws on 147M multi-turn dialogues extracted from Reddit discussion threads.

This project aims to facilitate research in large-scale pretraining for conversational data, and to facilitate investigation of issues related to biased or offensive output; accordingly it is released as a model only. This is a joint project between MSR AI and Microsoft Dynamics 365 AI Research team.

DiCE: Diverse Counterfactual Explanations for Machine Learning

Explanations are critical for machine learning, especially as machine learning-based systems are being used to inform decisions in societally critical domains such as finance, healthcare, and education. Most explanation methods, however, approximate an ML model to create interpretable explanations. DiCE is a Python package that relies on counterfactuals to provide explanations that are always consistent with the ML model. Essentially, it provides “what-if” explanations to help explore how a model reacts to different inputs and what input changes are required to change the model’s output. Under the hood, DiCE optimizes the feasibility and diversity of generated explanations.

DoWhy: A Python Package for Causal Machine Learning

DoWhy is an end-to-end library for causal inference that allows data scientists to build causal models based on data and domain assumptions. Consider the problem of finding out why customers churn out of a service, deciding which drugs may work best for a patient, or recommending a financial or marketing strategy: all these questions require causal reasoning and cannot be addressed by predictive modeling alone. DoWhy systematizes the best practices for causal inference in a 4-step process: modeling the assumptions, identifying the correct estimand, estimating the effect, and finally checking robustness to violation of assumptions. While prior frameworks have focused on statistical estimation alone, DoWhy recognizes the criticality of formalizing domain assumptions and uses recent research in machine learning to validate assumptions as much possible.


Explore more


Fairlearn

For those who wish to prioritize fairness in their AI systems, Microsoft researchers, in collaboration with Azure ML, have released Fairlearn—an open-source Python package that enables developers of AI systems to assess their systems’ fairness and mitigate any negative impacts for groups of people, such as those defined in terms of race, gender, age, or disability status. Fairlearn, which focuses specifically on harms of allocation or quality of service, draws on two papers by Microsoft researchers on incorporating quantitative fairness metrics into classification settings and regression settings, respectively.


Explore more


Guidelines for Human-AI Interaction

Advances in AI are fundamentally changing how modern-day technologies behave and creating new challenges for developing intuitive, impactful, and responsible AI user experiences. The Guidelines for Human-AI Interaction synthesize and validate more than two decades of research and thinking on human-AI interaction into a set of 18 best practices for designers and developers of AI-based systems.

The Guidelines prescribe how an AI system should behave to set the right expectations, appropriately leverage a person’s social and environmental contexts, help a person recover when the AI is wrong, and carefully learn and improve over time. They are being used by interdisciplinary teams at Microsoft to create effective AI users experiences from the start when designing and planning as well as to evaluate existing experiences and identify opportunities for improvement.

HAX Playbook

The Human-AI eXperience (HAX) Playbook is an interactive tool for generating interaction scenarios to test when designing user-facing AI systems. The Playbook helps you test AI interaction designs before building out a fully functional system. By answering a few questions about your planned system, you can generate a list of likely success and failure scenarios to design for. The tool also provides practical guidance and examples on how to inexpensively simulate system behaviors for early user testing.

InterpretML

Interpretability is essential for debugging machine learning models, detecting bias, gauging regulatory compliance, and using models in high-risk applications such as healthcare and finance. InterpretML is an open-source Python package for training interpretable machine learning models and explaining blackbox systems.

Historically, the most interpretable machine learning models were not very accurate, and the most accurate models were not very interpretable. Microsoft Research has developed an algorithm called the Explainable Boosting Machine (EBM), which has both high accuracy and interpretability. EBMs use modern machine learning techniques like bagging and gradient boosting to breathe new life into traditional GAMs (Generalized Additive Models). This makes them as accurate as random forests and gradient boosted trees, and also enhances their intelligibility and editability. EBMs allow users to learn more from their data, to deploy safer, more accurate models, and to detect and correct bias that might otherwise have remained hidden.

MMLSpark

Microsoft ML for Apache Spark expands the distributed computing framework Apache Spark in several new directions. MMLSpark adds several machine learning frameworks to the SparkML Ecosystem, including LightGBMVowpal WabbitOpenCVIsolation Forest, and the Microsoft Cognitive Toolkit (CNTK) . These tools allow users to craft powerful and highly-scalable models that span multiple ML ecosystems.

MMLSpark also brings new networking capabilities to the Spark ecosystem. With the HTTP on Spark project, users can embed any web service into their SparkML models and use their Spark clusters for massive networking workflows. In this vein, MMLSpark provides easy to use SparkML transformers for a wide variety of Microsoft Cognitive Services. Finally, the Spark Serving project enables high throughput, sub-millisecond latency web services, backed by your Spark cluster.

Project Malmo

Project Malmo sets out to address the core research challenges of developing AI that learns to make sense of complex environments, learns how to interact with the world, learns transferable skills and applies them to new problems. Malmo is an AI experimentation platform built on top of Minecraft that is designed to support fundamental research in AI. It taps into Minecraft’s endless possibilities – from simple tasks like walking around looking for treasure, to complex ones like building a structure with a group of teammates. It consists of a mod for the Java version of Minecraft, and code that helps AI agents sense and act within that environment. These components can run on Windows, Linux or MacOS, and researchers can program their agents in any language they’re comfortable with.

TensorWatch

TensorWatch is a debugging and visualization tool designed for data science, deep learning and reinforcement learning from Microsoft Research. It works in Jupyter Notebook to show real-time visualizations of your machine learning training and perform several other key analysis tasks for your models and data. TensorWatch is designed to be flexible and extensible so you can also build your own custom visualizations, UIs, and dashboards. Besides traditional “what-you-see-is-what-you-log” approach, it also has a unique capability to execute arbitrary queries against your live ML training process, return a stream as a result of the query and view this stream using your choice of a visualizer (we call this Lazy Logging Mode).

TextWorld

Text-based games may seem primitive next to the beautifully rendered graphics of today, but to succeed at even the simplest such game, humans use a special set of skills. We seamlessly and simultaneously comprehend language descriptions, plan our next moves, visualize the environment, remember important information, and generalize past experiences to new situations. AI agents don’t yet possess these capabilities, but they are key to general intelligence. Microsoft TextWorld is an open-source, extensible platform that both generates and simulates text-based games. It is a popular testing ground for AI, used by researchers to train, evaluate, analyze, and improve reinforcement learning (RL) agents that learn from and interact with the world through language.

XGLUE

Recently, pre-trained models such as Unicoder, M-BERT, and XLM have been developed to learn multilingual representations for cross-lingual and multilingual tasks. By performing masked language model, translation language model, and other bilingual pre-training tasks on multilingual and bilingual corpora with shared vocabulary and weights for multiple languages, these models obtain surprisingly good cross-lingual capability. However, the community still lacks benchmark datasets to evaluate such capability. To help researchers further advance language-agnostic models and make AI systems more inclusive, the XGLUE dataset helps researchers test a language model’s zero-shot cross-lingual transfer capability – its ability to transfer what it learned in English to the same task in other languages.

XT

eXperiment Tools (XT) is an command line interface (CLI) and API for running, managing, and analyzing ML experiments. The goal of XT is to enable users to effortlessly organize and scale their ML experiments with a common run model across multiple compute platforms.


Explore more

  • Download: XT

Sound, Vision, Visualization and Interaction

Phonetic Matching Library

Automatic Speech Recognition (ASR) systems tend to have trouble in noisy environments, when encountering unfamiliar accents, or when processing out-of-vocabulary words such as proper nouns and domain-specific words. Phonetic matching – comparing strings on a phoneme level rather than a character level – can help improve the accuracy and performance of these systems. Originally developed as a component of Maluuba’s natural language understanding platform, this library of phonetic string comparison utilities has been open sourced by Microsoft Research Montreal. It allows upstream systems to utilize personalized and contextual information that the Automatic Speech Recognition (ASR) systems may not have access to, in order to correct the ASR.

Project Rocket

Rocket is a Microsoft Research open-source platform that allows rapid construction of video pipelines for efficiently processing live video streams – with the goal of making it easy and affordable for anyone with a camera to benefit from video analytics. This highly extensible software stack empowers developers to build practical real-world applications for object detection and counting/alerting with cutting-edge machine learning algorithms. It features a hybrid edge-cloud video analytics pipeline (built on C# .NET Core), which allows TensorFlow, Darknet, ONNX and custom DNN model plug-in, GPU/FPGA acceleration, Docker containerization/Kubernetes orchestration, and interactive querying for after-the-fact analysis. Rocket’s pipelined architecture can be easily configured to execute over a distributed infrastructure, potentially spanning specialized edge hardware (e.g., Azure Stack Edge) and the cloud (e.g., Azure Machine Learning and Cognitive Services).

RocketBox Avatar Library

To empower research and academic institutions around the world to further investigate the relationship between people and their avatars and how it affects interactions with others in the virtual world, Microsoft is making the Microsoft Rocketbox Avatar Library—a collection of 115 avatars representing humans of different genders, races, and occupations—a publicly available resource for free research and academic use. Microsoft Rocketbox can be downloaded from GitHub. The release of the library coincides with last week’s celebration of the 2020 IEEE Conference on Virtual Reality and 3D User Interfaces (IEEE VR) and the presentation of our latest in avatar research, an active area here at Microsoft Research.

RoomAlive Toolkit

RoomAlive Toolkit is an open source SDK that transforms any room into an immersive, augmented, magical entertainment experience. RoomAlive Toolkit presents a unified, scalable approach for interactive projection mapping that dynamically adapts content to any room. Users can touch, shoot, stomp, dodge and steer projected content that seamlessly co-exists with their existing physical environment.


Explore more


SandDance

SandDance is open-source software that enables you to more easily explore, identify, and communicate insights about your data. It provides easy to use, yet powerful, dynamic, data visualizations on large datasets, which enable pattern, trend, and outlier identification. These, in turn, provide better communication and decision making capabilities through an interface that can be embedded in your tool of choice: a custom visual in PowerBI, as extensions in Visual Studio Code and Azure Data Studio, as a stand-alone web-based application, or a react based control in a custom web application.

SandDance showcases Microsoft Research data visualization innovations and novel natural user interaction techniques and makes them available where you need them.

SandDance is available as a web-based application, as a custom visual in PowerBI, and as extensions in Visual Studio Code and Azure Data Studio.

SandDance is a research tool that enables powerful and easy to use visualizations for large datasets.

SandDance enables powerful and easy to use visualizations for large datasets.

Triton

Project Triton renders immersive acoustics that responds to the shape and materials of 3D environments in games and augmented/virtual reality (AR/VR). It is unique in modeling the true wave physics of sound, including diffraction, producing natural effects like smooth occlusion and scene-dependent reverberation. Detailed simulation is performed offline, yielding a lightweight runtime that scales from desktop to mobile phones. Incubated over a decade in Microsoft Research, Project Triton ships in major game titles like Gears of War, Sea of Thieves, and Borderlands 3. Plugin integrations for Unity and Unreal Engine are available as part of Project Acoustics.

Accessibility and Inclusion

Caption Crawler

Caption Crawler is a plug-in for the Edge and Chrome web browsers that provides additional information about images for screen reader users. Many images on the web lack captions (i.e., alt text). When a webpage loads, Caption Crawler identifies images that are missing captions and checks if it is captioned elsewhere on the web; if so, the discovered captions are made available to the screen reader.

Eyes First

Developed by Microsoft researchers, designers, and engineers, the Eyes First games help familiarize people with the basic skills of using eye tracking devices, which can be applied to other gaze-enabled assistive technologies. The games are designed to optimize the experiences for eye gaze input, but they are also mouse and touchscreen friendly and can be played by anyone with a compatible Windows 10 device.

The collection is powered by Windows 10 eye tracking APIs and can be used with or without Windows 10 Eye Control, a key accessibility feature that enables people with speech and mobility disabilities, including people living with ALS, to use their eyes to control an on-screen mouse, keyboard and text-to-speech experience.

The games are available for free from the Microsoft Store. The Microsoft Enable Experiences R&D team also mentors student groups on the development of additional eyes first apps and is actively expanding the Eyes First collection to include creativity experiences centered around inclusive music, art, and personal expression. This combination of research, human-centered design, empathy and creativity can help restore and redefine the experience of technology for people who are “locked in” or otherwise affected by severe speech and mobility impairment.


Explore more


SeeingVR

SeeingVR is a research toolkit for making virtual reality more accessible to people with low vision – moderate to severe visual impairments that cannot be corrected fully by glasses. It includes a number of enhancements that provide visual and audio augmentations to existing VR experiences – including magnification, edge enhancement, brightness and contrast adjustment, text augmentation and text-to-speech. The toolkit also enables VR developers to add capabilities such as object descriptions and object labeling and highlighting. SeeingVR is designed to be used with the Unity VR development platform.

SeeingVR's low vision tools

SeeingVR includes enhancements that help developers make VR more accessible to people with low vision.

Soundscape

Microsoft Soundscape is a research project that explores the use of innovative audio-based technology to enable people, particularly those with blindness or low vision, to build a richer awareness of their surroundings, thus becoming more confident and empowered to get around. Soundscape provides information about your surroundings with synthesized binaural audio, creating the effect of 3D sound. Unlike step-by-step navigation apps, Soundscape uses audio cues to enrich ambient awareness and provide a new way to relate to the environment. It allows users to build a mental map and make personal route choices while being more comfortable within unfamiliar spaces.

Learn more about Microsoft Soundscape >

Privacy and Security

ElectionGuard

ElectionGuard is an open source software development kit (SDK) that allows voters to verify for themselves that their votes have been correctly counted. The ElectionGuard SDK provides tracking codes that can be used by voters to ensure that their votes are properly encrypted and recorded, and it leverages homomorphic encryption to ensure that votes can be verifiably tallied by the public without compromising their privacy.

EverCrypt

EverCrypt is a no-excuses, industrial-grade, fully verified cryptographic provider. EverCrypt provides the same convenience and performance as popular existing cryptographic libraries. Thanks to formal verification, EverCrypt eliminates many of the bugs that leave protocols and applications vulnerable. Usable by verified and unverified clients alike, EverCrypt emphasizes both multiplatform support and high performance. Parts of EverCrypt have been integrated in Windows, the Linux Kernel, Firefox, the Wireguard VPN and the Tezos blockchain.

EverCrypt is part of Project Everest, a multi-year collaborative effort focused on building a verified, secure communications stack designed to improve the security of HTTPS, a key internet safeguard.

Post-Quantum Crypto VPN

Quantum computing will help us solve some of the world’s most complex challenges. However, this same computing power will also break some of today’s most commonly used cryptography.

The search for new cryptographic algorithms that cannot be attacked efficiently even with the aid of quantum computer is underway, but it will be several years before the new standards are finalized. We know it will take time to migrate all of today’s existing services and applications to new post-quantum public-key algorithms – replacing cryptographic algorithms in widely deployed systems can take years and we will need a solution that can provide protection while that work is ongoing.

One approach Microsoft Research is exploring is applying the new post-quantum cryptography to network VPN tunnels. By using both current algorithms and post-quantum algorithms simultaneously – what we call a “hybrid” approach – we comply with regulatory requirements such as FIPS (Federal Information Processing Standards) while protecting against both today’s classical attackers and tomorrow’s quantum-enabled ones.

This research project takes a fork of the OpenVPN application and combines it with post-quantum cryptography, so researchers can evaluate the functionality and performance of that cryptography. (Note: This is an experimental project and should not be used to protect sensitive data or communications.)

SEAL

Homomorphic Encryption allows for computation to be done on encrypted data, without requiring access to a secret decryption key. The results of the computation are encrypted and can be revealed only by the owner of the key. Among other things, this technique can help to preserve individual privacy and control over personal data.
Microsoft researchers have been working to make Homomorphic Encryption simpler and more widely available, particularly through the open-source SEAL library.

Systems and Programming

Bosque

The Bosque programming language is an experiment in regularized programming language design for a machine-assisted rapid and reliable software development lifecycle. It is a ground-up language and tooling co-design effort focused on investigating the theoretical and practical implications of:

  1. Explicitly designing a code intermediate representation language (or bytecode) that enables deep automated code reasoning and the deployment of next-generation development tools, compilers, and runtime systems.
  2. Leveraging the power of the intermediate representation to provide a programming language that is both easily accessible to modern developers and that provides a rich set of useful language features for developing high reliability & high performance applications.
  3. Taking a cloud-development-first perspective on programming to address emerging challenges as we move into a distributed cloud development model based around microservices, serverless, and RESTful architectures.

This project welcomes community contributions including issues, comments, pull requests and research based on or enhancing the Bosque language.

Coyote

Mission-critical cloud services require more than 99.9 percent uptime—developers face extreme challenges in this unpredictable, high-stakes environment. Coyote provides developers with a programming library and tools for confidently building reliable asynchronous software on the .NET platform.

illustration - typical distributed systemCoyote allows developers to express the high-level asynchronous design directly in the code. It automatically finds deep non-deterministic safety and liveness bugs through intelligent systematic testing; and reproduces these non-deterministic bugs, facilitating easier debugging and quick fixes. It also supports both actor- and task-based programming.

Coyote is being used by several teams in Azure to build and test their distributed services.

Read more about the research behind Coyote >

Project Verona

Project Verona is a collaboration between researchers Microsoft Research and Imperial College London, exploring language and runtime design for safe scalable memory management and compartmentalization. This project has been open-sourced in its early stages, to invite collaboration with academic partners on the language design; the repository linked below covers the memory management aspects of the research. (Note: This prototype is not ready to be used outside research.)


Explore more


Q#

Q# (Q-sharp) is a domain-specific programming language designed for quantum application development. It is a high-level language that can express the full range of current and future quantum applications. Q# allows users to build hardware agnostic, reusable components intended for execution on a quantum processor. For debugging and development purposes, Q# programs can be executed on a simulator.

Get started with the Microsoft Quantum Development Kit >

The post Research Collection: Tools and Data to Advance the State of the Art appeared first on Microsoft Research.

]]>
Research Collection: Research Supporting Responsible AI http://approjects.co.za/?big=en-us/research/blog/research-collection-research-supporting-responsible-ai/ Mon, 13 Apr 2020 16:00:00 +0000 http://approjects.co.za/?big=en-us/research/?p=680358 Microsoft is committed to the advancement and use of AI grounded in principles that put people first and benefit society. We are putting these principles into practice throughout the company by embracing diverse perspectives, fostering continuous learning, and proactively responding as AI technology evolves.

The post Research Collection: Research Supporting Responsible AI appeared first on Microsoft Research.

]]>
Editor’s Note: In the diverse and multifaceted world of research, individual contributions can add up to significant results over time. In this new series of posts, we’re connecting the dots to provide an overview of how researchers at Microsoft and their collaborators are working towards significant customer and societal outcomes that are broader than any single discipline. Here, we’ve curated a selection of the work Microsoft researchers are doing to advance responsible AI. Researchers Saleema AmershiEce KamarKristin LauterJenn Wortman Vaughan, and Hanna Wallach contributed to this post.

Microsoft is committed to the advancement and use of AI grounded in principles that put people first and benefit society. We are putting these principles into practice throughout the company by embracing diverse perspectives, fostering continuous learning, and proactively responding as AI technology evolves.

Researchers at Microsoft are making significant contributions to the advancement of responsible AI practices, techniques and technologies – spanning areas of human-AI interaction and collaboration, fairness, intelligibility and transparency, privacy, reliability and safety, and other areas of research.

Multiple research efforts on responsible AI at Microsoft have been supported and coordinated by the company’s Aether Committee and its set of expert working groups. Aether is a cross-company board that plays a key role in the company’s work to operationalize responsible AI at scale, with efforts on formulating and making recommendations on issues and processes—and with hosting deep dives on technical challenges and tools around responsible AI.

Aether working groups focus on important opportunity areas, including human-AI interaction and collaboration, bias and fairness, intelligibility and transparency, reliability and safety, engineering practices, and sensitive uses of AI. Microsoft researchers actively lead and participate in the work of Aether, conducting research across disciplines and engaging with organizations and experts inside and outside of the company.

We embrace open collaboration across disciplines to strengthen and accelerate responsible AI, spanning software engineering and development to social sciences, user research, law and policy. To further this collaboration, we open-source many tools and datasets that others can use to contribute and build upon.

This work builds on Microsoft’s long history of innovation to make computing more accessible and dependable for people around the world – including the creation of the Microsoft Security Development Lifecycle, the Trustworthy Computing initiative, and pioneering work in accessibility and localization.

Responsible AI is really all about the how: how do we design, develop and deploy these systems that are fair, reliable, safe and trustworthy. And to do this, we need to think of Responsible AI as a set of socio-technical problems. We need to go beyond just improving the data and models. We also have to think about the people who are ultimately going to be interacting with these systems.”

Dr. Saleema Amershi, Principal Researcher at Microsoft Research and Co-chair of the Aether Human-AI Interaction & Collaboration Working Group

This page provides an overview of some key areas where Microsoft researchers are contributing to more responsible, secure and trustworthy AI systems. For more perspective on responsible AI and other technology and policy issues, check out our podcast with Microsoft President and Chief Legal Officer Brad Smith. For background on the Aether Committee, listen to this podcast with Microsoft’s Chief Scientist and Aether chair Eric Horvitz.

This is by no means an exhaustive list of efforts; read our blog (opens in new tab), listen to our podcast (opens in new tab), and subscribe to our newsletter (opens in new tab) to stay up to date on all things research at Microsoft.

Learn more about Microsoft’s commitment to responsible AI. For more guidelines and tools to help responsibly use AI at every stage of innovation, visit the Responsible AI resource center.

About Microsoft Research

Advancing science and technology to benefit humanity

Fairness

The fairness of AI systems is crucially important now that AI plays an increasing role in our daily lives. That’s why Microsoft researchers are advancing the frontiers of research on this topic, focusing on many different aspects of fairness, including:

For those who wish to prioritize fairness in their own AI systems, Microsoft researchers, in collaboration with Azure ML, have released Fairlearn, an open-source Python package that enables developers of AI systems to assess their systems’ fairness and mitigate any negative impacts for groups of people, such as those defined in terms of race, gender, age, or disability status. Fairlearn, which focuses specifically on harms of allocation or quality of service, draws on two papers by Microsoft researchers on incorporating quantitative fairness metrics into classification settings and regression settings, respectively. Of course, even with precise, targeted software tools like Fairlearn, it’s still easy for teams to overlook fairness considerations, especially when they are up against tight deadlines. This is especially true because fairness in AI  sits at the intersection of technology and society and can’t be addressed with purely technical approaches. Microsoft researchers have therefore co-designed a fairness checklist to help teams reflect on their decisions at every stage of the AI lifecycle, in turn helping them anticipate fairness issues well before deployment.

Explore more


Transparency and Intelligibility

Intelligibility can uncover potential sources of unfairness, help users decide how much trust to place in a system, and generally lead to more usable products. It also can improve the robustness of machine learning systems by making it easier for data scientists and developers to identify and fix bugs. Because intelligibility is a fundamentally human concept, it’s crucial to take a human-centered approach to designing and evaluating methods for achieving intelligibility.  That’s why Microsoft researchers are questioning common assumptions about what makes a model “interpretable,” studying data scientists’ understanding and use of existing intelligibility tools and how to make these tools more useable, and exploring the intelligibility of common metrics like accuracy.

For those eager to incorporate intelligibility into their own pipeline, Microsoft researchers have released InterpretML, an open-source Python package that exposes common model intelligibility techniques to practitioners and researchers. InterpretML includes implementations of both “glassbox” models (like Explainable Boosting Machines, which build on Generalized Additive Models) and techniques for generating explanations of blackbox models (like the popular LIME and SHAP, both developed by current Microsoft researchers).

Beyond model intelligibility, a thorough understanding of the characteristics and origins of the data used to train a machine learning model can be fundamental to building more responsible AI. The Datasheets for Datasets (opens in new tab) project proposes that every dataset be accompanied by a datasheet that documents relevant information about its creation, key characteristics, and limitations. Datasheets can help dataset creators uncover possible sources of bias in their data or unintentional assumptions they’ve made, help dataset consumers figure out whether a dataset is right for their needs, and help end users gain trust.  In collaboration with the Partnership on AI (opens in new tab), Microsoft researchers are developing best practices for documenting all components of machine learning systems to build more responsible AI.

Explore more


Reliability and Safety

Reliability is a principle that applies to every AI system that functions in the world and is required for creating trustworthy systems. A reliable system functions consistently and as intended, not only in the lab conditions in which it is trained, but also in the open world or when they are under attack from adversaries. When systems function in the physical world or when their shortcomings can pose risks to human lives, problems in system reliability translate to risks in safety.

To understand the way reliability and safety problems occur in AI systems, our researchers have been investigating how blind spots in data setsmismatches between training environments and execution environments, distributional shifts and problems in model specifications can lead to shortcomings in AI systems. Given the various sources for failures, the key to ensuring system reliability is rigorous evaluation during system development and deployment so that unexpected performance failures can be minimized and system developers can be guided for continuous improvement. That is why Microsoft researchers have been developing new techniques for model debugging and error analysis that can reveal patterns that are correlated with disproportional error regions in evaluation data. Current efforts in this space include turning research ideas into tools for developers to use.

We recognize that when AI systems are used in applications that are critical for our society, in most cases to support human work, aggregate accuracy is not sufficient to quantify machine performance. Researchers have shown that model updates can lead to issues with backward compatibility (i.e., new errors occurring as a result of an update), even when overall model accuracy improves, which highlights that model performance should be seen as a multi-faceted concept with human-centered considerations.

Explore more


Human-AI Interaction and Collaboration

Advances in AI have the potential to enhance human capabilities and improve our lives. At the same time, the complexities and probabilistic nature of AI-based technologies presents unique challenges for safe, fair, and responsible human-AI interaction. That’s why Microsoft researchers are taking a human-centered approach to ensure that what we build benefits people and society, and that how we build it begins and ends with people in mind.

A human-centered approach to AI starts with identifying a human or societal need and then tailor-making AI technologies to support that need. Taking this approach, Microsoft researchers are creating new AI-based technologies to promote human and societal well-being including technologies to augment human capabilities, support mental health and focus and attention, and to understand the circulation patterns of fake news.

A human-centered approach to technology development also emphasizes the need for people to effectively understand and control those technologies to achieve their goals. This is inherently difficult for AI technologies that behave in probabilistic ways, may change over time, and are based on possibly multiple complex and entangled models. Microsoft researchers are therefore developing guidance and exploring new ways to support intuitive, fluid and responsible human interaction with AI including how to help people decide when to trust an AI or when to question it, to set appropriate expectations about an AI system’s capabilities and performance, to support the safe hand-off between people and AI-based systems, and to enable people and AI systems to interact and collaborate in physical space.

Finally, a human-centered approach to responsible AI requires understanding the unique challenges practitioners face building AI systems and then working to address those challenges. Microsoft researchers are therefore studying data scientistsmachine learning software engineers, and interdisciplinary AI-UX teams, and creating new tools and platforms to support data analysischaracterizing and debugging AI failures, and developing of human-centered AI technologies such as emotion-aware and physically situated AI systems.

Explore more


Private AI

Private AI is a Microsoft Research project to enable Privacy Preserving Machine Learning (PPML).  The CryptoNets paper (opens in new tab) from ICML 2016 demonstrated that deep learning on encrypted data is feasible using a new technology called Homomorphic Encryption.  Practical solutions and approaches for Homomorphic Encryption were pioneered by the Cryptography Group at Microsoft Research in this 2011 paper (opens in new tab) which showed a wide range of applications for providing security and privacy in the cloud for healthcare, genomics, and finance.

Homomorphic Encryption allows for computation to be done on encrypted data, without requiring access to a secret decryption key. The results of the computation are encrypted and can be revealed only by the owner of the key. Among other things, this technique can help to preserve individual privacy and control over personal data.

Microsoft researchers  (opens in new tab)have been working to make Homomorphic Encryption simpler and more widely available, particularly through the open-source SEAL  (opens in new tab)library. To learn more, listen to this podcast (opens in new tab), take this webinar (opens in new tab) on Private AI from the National Academies, or this webinar (opens in new tab) from Microsoft Research on SEAL.

Explore more


Partnerships and Support for Student Work

Working with Academic and Commercial Partners

Microsoft Research supports and works closely with Data & Society (opens in new tab), which is committed is committed to identifying thorny issues at the intersection of technology and society, providing and encouraging research that can ground informed, evidence-based public debates, and building a network of researchers and practitioners who can anticipate issues and offer insight and direction. Microsoft Research also supports the AI Now Institute (opens in new tab) at New York University, an interdisciplinary research center dedicated to understanding the social implications of artificial intelligence.

Microsoft is also a member of the Partnership on AI (opens in new tab) (PAI), a multi-stakeholder organization that brings together academics, researchers, civil society organizations, companies building and utilizing AI technology, and other groups working to better understand AI’s impacts. Microsoft researchers are contributing to a number of PAI projects, including the ABOUT ML work referenced above.

Supporting Student Work on Responsible AI

The Ada Lovelace Fellowship and PhD Fellowship continue a Microsoft Research tradition of providing promising doctoral students in North America with funding to support their studies and research. Many of these fellowships’ 2020 recipients are doing work to advance the responsible and beneficial use of technology, including enhancing fairness in natural language processing, reducing bias, promoting social equality, and improving the mental, emotional, and social health of people with dementia.


Cited publications

The post Research Collection: Research Supporting Responsible AI appeared first on Microsoft Research.

]]>