Partial-order planning

Partial-order planning

Partial-order planning is an approach to automated planning that maintains a partial ordering between actions and only commits ordering between actions when forced to, that is, ordering of actions is partial. Also this planning doesn't specify which action will come out first when two actions are processed. By contrast, total-order planning maintains a total ordering between all actions at every stage of planning. Given a problem in which some sequence of actions is needed to achieve a goal, a partial-order plan specifies all actions that must be taken, but specifies an ordering between actions only where needed. Consider the following situation: a person must travel from the start to the end of an obstacle course. The course is composed of a bridge, a see-saw, and a swing-set. The bridge must be traversed before the see-saw and swing-set are reachable. Once reachable, the see-saw and swing-set can be traversed in any order, after which the end is reachable. In a partial-order plan, ordering between these obstacles is specified only when needed. The bridge must be traversed first. Second, either the see-saw or swing-set can be traversed. Third, the remaining obstacle can be traversed. Then the end can be traversed. Partial-order planning relies upon the principle of least commitment for its efficiency. == Partial-order plan == A partial-order plan or partial plan is a plan which specifies all actions that must be taken, but only specifies the order between actions when needed. It is the result of a partial-order planner. A partial-order plan consists of four components: A set of actions (also known as operators). A partial order for the actions. It specifies the conditions about the order of some actions. A set of causal links. It specifies which actions meet which preconditions of other actions. Alternatively, a set of bindings between the variables in actions. A set of open preconditions. It specifies which preconditions are not fulfilled by any action in the partial-order plan. To keep the possible orders of the actions as open as possible, the set of order conditions and causal links must be as small as possible. A plan is a solution if the set of open preconditions is empty. A linearization of a partial order plan is a total order plan derived from the particular partial order plan; in other words, both order plans consist of the same actions, with the order in the linearization being a linear extension of the partial order in the original partial order plan. === Example === For example, a plan for baking a cake might start: go to the store get eggs; get flour; get milk pay for all goods go to the kitchen This is a partial plan because the order for finding eggs, flour and milk is not specified, the agent can wander around the store reactively accumulating all the items on its shopping list until the list is complete. == Partial-order planner == A partial-order planner is an algorithm or program which will construct a partial-order plan and search for a solution. The input is the problem description, consisting of descriptions of the initial state, the goal and possible actions. The problem can be interpreted as a search problem where the set of possible partial-order plans is the search space. The initial state would be the plan with the open preconditions equal to the goal conditions. The final state would be any plan with no open preconditions, i.e. a solution. The initial state is the starting conditions, and can be thought of as the preconditions to the task at hand. For a task of setting the table, the initial state could be a clear table. The goal is simply the final action that needs to be accomplished, for example setting the table. The operators of the algorithm are the actions by which the task is accomplished. For this example there may be two operators: lay (tablecloth), and place (glasses, plates, and silverware). === Plan space === The plan space of the algorithm is constrained between its start and finish. The algorithm starts, producing the initial state and finishes when all parts of the goal have been achieved. In the setting a table example, two types of actions exist that must be addressed: the put-out and lay operators. Four unsolved operators also exist: Action 1, lay-tablecloth, Action 2, Put-out (plates), Action 3, Put-out (silverware), and Action 4, Put-out (glasses). However, a threat arises if Action 2, 3, or 4 comes before Action 1. This threat is that the precondition to the start of the algorithm will be unsatisfied as the table will no longer be clear. Thus, constraints exist that must be added to the algorithm that force Actions 2, 3, and 4 to come after Action 1. Once these steps are completed, the algorithm will finish and the goal will have been completed. === Threats === As seen in the algorithm presented above, partial-order planning can encounter certain threats, meaning orderings that threaten to break connected actions, thus potentially destroying the entire plan. There are two ways to resolve threats: Promotion Demotion Promotion orders the possible threat after the connection it threatens. Demotion orders the possible threat before the connection it threatens. Partial-order planning algorithms are known for being both sound and complete, with sound being defined as the total ordering of the algorithm, and complete being defined as the capability to find a solution, given that a solution does in fact exist. == Partial-order vs. total-order planning == Partial-order planning is the opposite of total-order planning, in which actions are sequenced all at once and for the entirety of the task at hand. The question arises when one has two competing processes, which one is better? Anthony Barret and Daniel Weld have argued in their 1993 book, that partial-order planning is superior to total-order planning, as it is faster and thus more efficient. They tested this theory using Korf’s taxonomy of subgoal collections, in which they found that partial-order planning performs better because it produces more trivial serializability than total-order planning. Trivial serializability facilitates a planner’s ability to perform quickly when dealing with goals that contain subgoals. Planners perform more slowly when dealing with laboriously serializable or nonserializable subgoals. The determining factor that makes a subgoal trivially or laboriously serializable is the search space of different plans. They found that partial-order planning is more adept at finding the quickest path, and is therefore the more efficient of these two main types of planning. == The Sussman anomaly == Partial-order plans are known to easily and optimally solve the Sussman anomaly. Using this type of incremental planning system solves this problem quickly and efficiently. This was a result of partial-order planning that solidified its place as an efficient planning system. == Disadvantages to partial-order planning == One drawback of this type of planning system is that it requires a lot more computational power for each node. This higher per-node cost occurs because the algorithm for partial-order planning is more complex than others. This has important artificial intelligence implications. When coding a robot to do a certain task, the creator needs to take into account how much energy is needed. Though a partial-order plan may be quicker it may not be worth the energy cost for the robot. The creator must be aware of and weigh these two options to build an efficient robot.

Roposo

Roposo is an Indian video-sharing social media service, owned by Glance, a subsidiary of InMobi. Roposo provides a space where users can share posts related to different topics like food, comedy, music, poetry, fashion and travel. It is a platform where people express visually with homemade videos and photos. The app offers a TV-like browsing experience with user-generated content on its channels. Users can also use editing tools on the platform and upload their content. == History == Established in July 2014 under Relevant E-solutions Pvt. Ltd., Roposo is the brainchild of three IIT Delhi alumni – Mayank Bhangadia, Avinash Saxena, and Kaushal Shubhank. Under Bhangadia's leadership, the company pivoted from a fashion-based network into a short-form video platform with AI-powered moderation, and its journey was featured as a Harvard Business Publishing case study. In November 2019, Roposo was acquired by InMobi's Glance Digital Experience Pvt. Ltd.(the mobile content platform and part of the InMobi Group). When the Chinese-owned video-sharing app TikTok was banned on 30 June 2020, the app saw a huge spike in users with several TikTok users registering on Roposo. == Technology == The open platform has some features such as a TV-like browsing, different channels, a chat feature that lets buyers and sellers converse directly through the platform, and creation tools such as an option to add voice-over, music and GIF stickers for videos and photos.

Digital fashion

Digital fashion is a field of fashion design that relies on 3D software or artificial intelligence to produce hyper-realistic, data-intensive digital 3D garment simulations that are digital-only products or digital models for physical products. Digital garments can be worn and presented in virtual environments, social media, online gaming, virtual reality (VR), and augmented reality (AR) platforms. The field aims to contribute to the development of a more sustainable future for the fashion industry. It has been praised as a possible answer to ethical and creative concerns of traditional fashion by promoting innovation, reducing waste, and encouraging conscious consumption. However, empirical research has questioned whether digital fashion communities embody the radical and anti-consumerist values they claim. A 2025 study presented by YeSeung Lee at the FACTUM international conference on fashion communication analysed 88,141 posts across nine platforms over eight months using Pulsar. It found that only 4.8% of author biographies indicated any sociopolitical focus, and that discourse predominantly relied on generic slogans and trending buzzwords, primarily reinforcing existing fashion hierarchies and consumerist frameworks rather than challenging them. Digital fashion is also the interplay between digital technology and couture. Human AI is an intersection of technology and human representation, in which human value is emphasized and enhanced by technology and the possibilities of discovering design. Information and communication technologies (ICTs) have been deeply integrated both into the fashion industry, as well as within the experience of clients and prospects. Such interplay has happened at three main levels. ICTs are used to design and produce fashion products, while the industry organization also leverages digital technologies. ICTs impact marketing, distribution and sales. ICTs are extensively used in communication activities with all relevant stakeholders and contribute to co-create the fashion world. The fashion industry in general has paved the way for digital fashion to be introduced with more technology being in the industry, like virtual dressing rooms and the gamification of the fashion industry. Digital fashion is also seen on many different online fashion retail websites. This evolution in the fashion industry has called for more education and research of digital fashion. == Design, production, and organization == Among the many applications available to fashion designers to model the fusion of creativity with digital avenues, the Digital Textile Printing can be mentioned here. === Digital textile printing === Digital textile printing has brought together the worlds of fashion, technology, art, chemistry, and printing to produce a new process for printing textiles on clothing. Digital printing is a process in which prints are directly applied to fabrics with a printer, reducing 95% of the use of water, 75% of the use of energy and minimizing textile waste. The main advantage of digital printing is the ability to do very small runs of each design (even less than 1 yard). Digital Textile printing also offers other benefits, such as fast printing speeds that help the time and space needed to print different patterns on garments of choice. == Marketing, distribution, and sales == While all digital channels can be used in order to market and sell fashion completely online (eCommerce), they usually are implemented in connection with offline channels (so-called "omni-channel"). Here, virtual and augmented reality play a crucial role. The fashion industry has faced its own problems including pollution and fabric waste, which has resulted in a shift to more sustainable methods like digital fashion. The industry is also constantly being intertwined with digital media and has allowed for the use of digital tools within the business itself and with consumers. Two of the ways digital fashion is utilized with consumers is through virtual dressing rooms and virtual cosmetic counters. Prospects and clients can use ICTs - own computers, tablets and smartphones - to virtually simulate fitting rooms and cosmetics counters and see how they look in specific outfits and makeup. Customers can give any look and decide on what suits them and buy products. Oftentimes, beauty retailers will feature virtual fitting rooms to allow users to experience the look of their product before committing to a purchase. Some examples are color contact retailers Freshlook, which allows users to simulate contact lens wear in their color contacts studio before purchase. Colorful Eyes also offers a virtual color contact lens try-on room. === Virtual dressing room === A virtual dressing room (also often referred to as virtual fitting room and virtual changing room although they do perform different functions) is the online equivalent of the near-ubiquitous in-store changing room – that is, it enables shoppers to try on clothes to check one or more of size, fit or style, but virtually rather than physically. Fashion retailer Topshop installed a Kinect-powered virtual fitting room at its Moscow store. Created by AR Door, the Augmented Fitting Room system overlays 3D augmented reality clothes on the customer. Simple gestures and on-screen buttons let users "try on" different outfits. However, the high variability of virtual fit platforms to predict consumer clothes sizes called into question the accuracy of these systems in their current form. AI-powered Wardrobe and Outfit Planning Beyond virtual fitting rooms, the integration of artificial intelligence has enabled the rise of digital wardrobe management. These platforms use computer vision and machine learning to catalog a user’s physical or digital garments, providing automated outfit recommendations based on weather, occasion, and personal style trends. Fashion-tech startups utilize AI-driven garment simulation to help users plan outfits virtually, bridging the gap between digital-only fashion and physical wardrobe utility. This "smart closet" approach aims to reduce "wardrobe fatigue" and decrease unnecessary consumption by maximizing the use of existing items through digital visualization. === Communication and experience co-creation === Fashion is also a matter of socially negotiating what is "in" or "out", fashionable or not. In other words, fashion items do not only play on the economic market of physical goods but also - and sometimes even more importantly - on the semiotic market of the production of social tastes and customs. Thanks to social media, and to all services offered by the so-called web2.0, laypeople can contribute to co-create the fashion world, shaping tastes, customs, and fashion-related values. Social media, in general, has catapulted the impact fashion has on our everyday lives and values. Fashion has taken a central role in mass production and is constantly evolving due to the ever-lasting digital transformation. Social media has also helped evolve to a point where not only can brands reach consumers, but consumers can reach brands as well. TikTok for example started a trend in 2020 with #GucciModelChallenge. This creates a space where the brand is gaining awareness from their consumers in the ever-changing digital age. === Gamification === Gaming has played an important role in fostering digital aspects of the fashion world, first beginning with dress-up games that used avatars and allowed players to select garments. Nevertheless, it seems it will now move on to the real world and start using avatars of real people. Garments from luxurious brands have been copied and adapted into the aesthetics of games such as Animal Crossing: New Horizons and The Sims. As to the former, during COVID-19 lock-downs players recreated outfits from a variety of fashion brands, including Chanel, Gucci and Versace. It became a platform for users to showcase their costume designs. In April 2019, Moschino collaborated with simulation game The Sims in a capsule collection that featured signature Jeremy Scott garments. The collection was made available to shop and the campaign was set against the backdrop of a Sims-like atmosphere. Furthermore, in May 2019, Nike partnered up with Fortnite to include their iconic Jordan sneakers. In similar fashion, in May 2020, Marc Jacobs designed 6 of the brand's favorite looks for Nintendo's Animal Crossing: New Horizons in a partnership with Instagram user @AnimalCrossingFashionArchive. They were made available to download. Similarly, the other luxury brands mentioned, Louis Vuitton partnered with game League of Legends to create skins for characters within the game. Digital fashion in different video games allows users to express themselves beyond their avatars and combine the self-expression of fashion into the digital gaming realm. == Digital fashion education and research == Nowadays, the fashion industry needs experts in digital fashion, equipped with the above-ske

Computer-assisted legal research

Computer-assisted legal research (CALR) or computer-based legal research is a mode of legal research that uses databases of court opinions, statutes, court documents, and secondary material. Electronic databases make large bodies of case law easily available. Databases also have additional benefits, such as Boolean searches, evaluating case authority, organizing cases by topic, and providing links to cited material. Databases are available through paid subscription or for free. Subscription-based services include Westlaw, LexisNexis, JustCite, HeinOnline, Bloomberg Law, Lex Intell, VLex and LexEur. As of 2015, the commercial market grossed $8 billion. Free services include OpenJurist, Google Scholar, AltLaw, Ravel Law, WIPO Lex, Law Delta and the databases of the Free Access to Law Movement. == Purposes == Computer-assisted legal research is undertaken by a variety of actors. It is taught as a topic in many law degrees and is used extensively by undergraduate and postgraduate law students in meeting the work requirements of their degree courses. Professors of Law rely on the digitization of primary and secondary sources of law when conducting their research and writing the material that they submit for publication. Professional lawyers rely on computer-assisted legal research in order to properly understand the status of the law and so to act effectively in the best interest of their client. They may also consult the text of case judgements and statutes specifically, as well as wider academic comment, in order to form the basis of (or response to) an appeal. The availability of legal information online differs by type, jurisdiction and subject matter. The types of information available include: Texts of statutes, statutory instruments, civil codes, etc. Explanatory notes and government publications relating to statutes and their operation Texts of governing documents such as constitutions and treaties Case judgements Journals on legal matters or legal theory Dictionaries and legal encyclopedia Legal texts and materials in the form of e-books Current affairs and market information Educational information on the law and its operation == Before the Internet == Prior to the advent and popularization of the World Wide Web, access to digital legal information was largely through the use of CD-ROMs, designed and sold by commercial organizations. Dial-up services were also available from the 1970s. As the use of the Internet spread in the early 1990s, companies such as LexisNexis and Westlaw incorporated Internet connectivity into their software packages. Browser-based legal information started to be published by Legal Information Institutes from 1992. == Publicly available information == The first effort to provide free computer access to legal information was made by two academics, Peter Martin and Tom Bruce, in 1992. Today, the Legal Information Institute freely publishes such resources as the text of the United States Constitution, judgements of the United States Supreme Court, and the text of the United States Code. The Australasian Legal Information Institute (AusLII) was established soon after in 1995. Other legal information institutes, such as those of Great Britain and Ireland (BAILII), Canada (CII) and South Africa (SAfLI) soon followed. LIIs were partially formalized in 2002 following the signing of the Declaration of Free Access to the Law, which has been signed by 54 countries. At the time of writing, the World Legal Information Institute contains in excess of 1800 databases from 123 jurisdictions. Many governments also publish legal information online. For example, UK legislation and statutory instruments have been publicly available online since 2010. Depending on the jurisdiction in question, the decisions of higher appellate courts may also be published online, either by the Legal Information Institute or by the court service directly. Sources of European Union Law are published for free by EUR-Lex in 23 languages, including judgments of the European Courts. Similarly, judgements of the European Court of Human Rights are published on its website.

Generative AI pornography

Generative AI pornography or simply AI pornography is a digitally created pornography produced through generative artificial intelligence (AI) technologies. Unlike traditional pornography, which involves real actors and cameras, this content is synthesized entirely by AI algorithms. These algorithms, including generative adversarial networks (GANs) and text-to-image models, generate lifelike images, videos, or animations from textual descriptions or datasets. == Functions and production strategies == AI pornography platforms, beyond account creation and social media linking, primarily enable users to generate sexual images through feature selection or text prompting. Users can customize bodies, clothing, and sociodemographic traits, and browse categorized galleries of user‑generated content. Several sites also support short pornographic videos or GIFs and modification tools such as nudifiers, deepfakes, and facemorphing. Platforms often allow fine‑tuning of parameters such as settings, style, or theme, and provide prompt enhancers or suggestions to improve outputs. Users may edit generated images, refine prior prompts, modify others’ work, or upload personal material as a basis, with iterative and collaborative content creation. Some websites additionally host interactive “erobots,” customizable in real time for appearance, personality, memories, speech, and profession, enabling tailored sexual and non‑sexual interactions. Less common features include VR integration, AI porn games, audio or doodle prompts, and consensual replication of individuals with verification. == History == The use of generative AI in the adult industry began in the late 2010s, initially focusing on AI-generated art, music, and visual content. This trend accelerated in 2022 with Stability AI's release of Stable Diffusion (SD), an open-source text-to-image model that enables users to generate images, including NSFW content, from text prompts using the LAION-Aesthetics subset of the LAION-5B dataset. Despite Stability AI's warnings against sexual imagery, SD's public release led to dedicated communities exploring both artistic and explicit content, sparking ethical debates over open-access AI and its use in adult media. By 2020, AI tools had advanced to generate highly realistic adult content, amplifying calls for regulation. === AI-generated influencers === One application of generative AI technology is the creation of AI-generated influencers on platforms such as OnlyFans and Instagram. These AI personas interact with users in ways that can mimic real human engagement, offering an entirely synthetic but convincing experience. While popular among niche audiences, these virtual influencers have prompted discussions about authenticity, consent, and the blurring line between human and AI-generated content, especially in adult entertainment. === The growth of AI porn sites === By 2023, websites dedicated to AI-generated adult content had gained traction, catering to audiences seeking customizable experiences. These platforms allow users to create or view AI-generated pornography tailored to their preferences. These platforms enable users to create or view AI-generated adult content appealing to different preferences through prompts and tags, customizing body type, facial features, and art styles. Tags further refine the output, creating niche and diverse content. Many sites feature extensive image libraries and continuous content feeds, combining personalization with discovery and enhancing user engagement. AI porn sites, therefore, attract those seeking unique or niche experiences, sparking debates on creativity and the ethical boundaries of AI in adult media. == Ethical concerns and misuse == The growth of generative AI pornography has also attracted some cause for criticism. AI technology can be exploited to create non-consensual pornographic material, posing risks similar to those seen with deepfake revenge porn and AI-generated NCII (Non-Consensual Intimate Image). A 2023 analysis found that 98% of deepfake videos online are pornographic, with 99% of the victims being women. Some famous celebrities victims of deepfake include Scarlett Johansson, Taylor Swift, and Maisie Williams. OpenAI is exploring whether NSFW content, such as erotica, can be responsibly generated in age-appropriate contexts while maintaining its ban on deepfakes. This proposal has attracted criticism from child safety campaigners who argue it undermines OpenAI's mission to develop "safe and beneficial" AI. Additionally, the Internet Watch Foundation has raised concerns about AI being used to generate sexual abuse content involving children. === AI-generated non-consensual intimate imagery (AI Undress) === Generative AI have extensively been used to produce pornography images and videos of non-consenting individuals. 404 Media reported a particular AI generated porn bot on Telegram has more than 100,000 monthly users. Alibaba, the Chinese tech company, released an AI video generation model in 2025 called Wan 2.1, which was modified to produce non-consensual pornography. Several US states are taking actions against using deepfake apps and sharing them on the internet. In 2024, San Francisco filed a landmark lawsuit to shut down "undress" apps that allow users to generate non-consensual AI nude images, citing violations of state laws. The case aligns with California's recent legislation—SB 926, SB 942, and SB 981—championed by Senators Aisha Wahab and Josh Becker and signed by Governor Gavin Newsom. These bills aim to protect individuals from AI-generated explicit images by criminalizing non-consensual distribution, mandating disclosures, and empowering victims to report and remove harmful content from platforms. === Differences from deepfake pornography === While both generative AI pornography and deepfake pornography rely on synthetic media, they differ in their methods and ethical considerations. Deepfake pornography typically involves altering existing footage of real individuals, often without their consent, using AI to superimpose faces, undress said persons, or modify scenes. In contrast, generative AI pornography is created using algorithms, producing hyper-realistic content without the need to upload real pictures of people. Hany Farid, digital image analysis expert, also described the difference between "AI porn" and "deepfake porn." == Legality == The legality of generative AI pornography varies widely by jurisdiction and remains an evolving issue. In some countries, laws addressing digital impersonation, obscenity, or deepfake technologies may indirectly apply, particularly when AI-generated content involves the likeness of real individuals without consent. The absence of a physical performer further complicates traditional regulatory frameworks, which are often grounded in performer protection and distribution laws. In the United States, legal responses have primarily focused on non-consensual deepfakes and impersonation. Some states, such as Virginia, California, and Texas, have enacted legislation criminalising the creation or distribution of non-consensual explicit deepfake content. However, there is no comprehensive federal law addressing AI-generated pornography, leaving a patchwork of legal interpretations and enforcement standards across different jurisdictions. According to a 2023 report, South Korea accounts for approximately 53% of global deepfake pornography production. In September 2024, South Korea's National Assembly amended the Act on Special Cases Concerning the Punishment of Sexual Crimes, introducing two significant reforms related to deepfake content. The first criminalises the possession, viewing, purchase, and storage of non-consensual deepfake material, with penalties of up to three years in prison or fines of up to 30 million won (approximately USD 20,000). The second reform specifically addresses the exploitation of minors, establishing that individuals who use deepfakes to threaten or blackmail minors face a minimum of three years' imprisonment, and at least five years if they coerce minors into unwanted acts. In England and Wales the Data (Use and Access) Act 2025 has legislated against the creation, or the request for creation, of intimate images by nudifying software or websites of another person who has not consented to this. However as of January 2026 this has not yet been brought into force.

Bayesian programming

Bayesian programming is a formalism and a methodology for having a technique to specify probabilistic models and solve problems when less than the necessary information is available. Edwin T. Jaynes proposed that probability could be considered as an alternative and an extension of logic for rational reasoning with incomplete and uncertain information. In his founding book Probability Theory: The Logic of Science he developed this theory and proposed what he called "the robot," which was not a physical device, but an inference engine to automate probabilistic reasoning—a kind of Prolog for probability instead of logic. Bayesian programming is a formal and concrete implementation of this "robot". Bayesian programming may also be seen as an algebraic formalism to specify graphical models such as, for instance, Bayesian networks, dynamic Bayesian networks, Kalman filters or hidden Markov models. Indeed, Bayesian programming is more general than Bayesian networks and has a power of expression equivalent to probabilistic factor graphs. == Formalism == A Bayesian program is a means of specifying a family of probability distributions. The constituent elements of a Bayesian program are presented below: Program { Description { Specification ( π ) { Variables Decomposition Forms Identification (based on δ ) Question {\displaystyle {\text{Program}}{\begin{cases}{\text{Description}}{\begin{cases}{\text{Specification}}(\pi ){\begin{cases}{\text{Variables}}\\{\text{Decomposition}}\\{\text{Forms}}\\\end{cases}}\\{\text{Identification (based on }}\delta )\end{cases}}\\{\text{Question}}\end{cases}}} A program is constructed from a description and a question. A description is constructed using some specification ( π {\displaystyle \pi } ) as given by the programmer and an identification or learning process for the parameters not completely specified by the specification, using a data set ( δ {\displaystyle \delta } ). A specification is constructed from a set of pertinent variables, a decomposition and a set of forms. Forms are either parametric forms or questions to other Bayesian programs. A question specifies which probability distribution has to be computed. === Description === The purpose of a description is to specify an effective method of computing a joint probability distribution on a set of variables { X 1 , X 2 , ⋯ , X N } {\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}} given a set of experimental data δ {\displaystyle \delta } and some specification π {\displaystyle \pi } . This joint distribution is denoted as: P ( X 1 ∧ X 2 ∧ ⋯ ∧ X N ∣ δ ∧ π ) {\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)} . To specify preliminary knowledge π {\displaystyle \pi } , the programmer must undertake the following: Define the set of relevant variables { X 1 , X 2 , ⋯ , X N } {\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}} on which the joint distribution is defined. Decompose the joint distribution (break it into relevant independent or conditional probabilities). Define the forms of each of the distributions (e.g., for each variable, one of the list of probability distributions). ==== Decomposition ==== Given a partition of { X 1 , X 2 , … , X N } {\displaystyle \left\{X_{1},X_{2},\ldots ,X_{N}\right\}} containing K {\displaystyle K} subsets, K {\displaystyle K} variables are defined L 1 , ⋯ , L K {\displaystyle L_{1},\cdots ,L_{K}} , each corresponding to one of these subsets. Each variable L k {\displaystyle L_{k}} is obtained as the conjunction of the variables { X k 1 , X k 2 , ⋯ } {\displaystyle \left\{X_{k_{1}},X_{k_{2}},\cdots \right\}} belonging to the k t h {\displaystyle k^{th}} subset. Recursive application of Bayes' theorem leads to: P ( X 1 ∧ X 2 ∧ ⋯ ∧ X N ∣ δ ∧ π ) = P ( L 1 ∧ ⋯ ∧ L K ∣ δ ∧ π ) = P ( L 1 ∣ δ ∧ π ) × P ( L 2 ∣ L 1 ∧ δ ∧ π ) × ⋯ × P ( L K ∣ L K − 1 ∧ ⋯ ∧ L 1 ∧ δ ∧ π ) {\displaystyle {\begin{aligned}&P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\wedge \cdots \wedge L_{K}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\mid \delta \wedge \pi \right)\times P\left(L_{2}\mid L_{1}\wedge \delta \wedge \pi \right)\times \cdots \times P\left(L_{K}\mid L_{K-1}\wedge \cdots \wedge L_{1}\wedge \delta \wedge \pi \right)\end{aligned}}} Conditional independence hypotheses then allow further simplifications. A conditional independence hypothesis for variable L k {\displaystyle L_{k}} is defined by choosing some variable X n {\displaystyle X_{n}} among the variables appearing in the conjunction L k − 1 ∧ ⋯ ∧ L 2 ∧ L 1 {\displaystyle L_{k-1}\wedge \cdots \wedge L_{2}\wedge L_{1}} , labelling R k {\displaystyle R_{k}} as the conjunction of these chosen variables and setting: P ( L k ∣ L k − 1 ∧ ⋯ ∧ L 1 ∧ δ ∧ π ) = P ( L k ∣ R k ∧ δ ∧ π ) {\displaystyle P\left(L_{k}\mid L_{k-1}\wedge \cdots \wedge L_{1}\wedge \delta \wedge \pi \right)=P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)} We then obtain: P ( X 1 ∧ X 2 ∧ ⋯ ∧ X N ∣ δ ∧ π ) = P ( L 1 ∣ δ ∧ π ) × P ( L 2 ∣ R 2 ∧ δ ∧ π ) × ⋯ × P ( L K ∣ R K ∧ δ ∧ π ) {\displaystyle {\begin{aligned}&P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\mid \delta \wedge \pi \right)\times P\left(L_{2}\mid R_{2}\wedge \delta \wedge \pi \right)\times \cdots \times P\left(L_{K}\mid R_{K}\wedge \delta \wedge \pi \right)\end{aligned}}} Such a simplification of the joint distribution as a product of simpler distributions is called a decomposition, derived using the chain rule. This ensures that each variable appears at the most once on the left of a conditioning bar, which is the necessary and sufficient condition to write mathematically valid decompositions. ==== Forms ==== Each distribution P ( L k ∣ R k ∧ δ ∧ π ) {\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)} appearing in the product is then associated with either a parametric form (i.e., a function f μ ( L k ) {\displaystyle f_{\mu }\left(L_{k}\right)} ) or a question to another Bayesian program P ( L k ∣ R k ∧ δ ∧ π ) = P ( L ∣ R ∧ δ ^ ∧ π ^ ) {\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)=P\left(L\mid R\wedge {\widehat {\delta }}\wedge {\widehat {\pi }}\right)} . When it is a form f μ ( L k ) {\displaystyle f_{\mu }\left(L_{k}\right)} , in general, μ {\displaystyle \mu } is a vector of parameters that may depend on R k {\displaystyle R_{k}} or δ {\displaystyle \delta } or both. Learning takes place when some of these parameters are computed using the data set δ {\displaystyle \delta } . An important feature of Bayesian programming is this capacity to use questions to other Bayesian programs as components of the definition of a new Bayesian program. P ( L k ∣ R k ∧ δ ∧ π ) {\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)} is obtained by some inferences done by another Bayesian program defined by the specifications π ^ {\displaystyle {\widehat {\pi }}} and the data δ ^ {\displaystyle {\widehat {\delta }}} . This is similar to calling a subroutine in classical programming and provides an easy way to build hierarchical models. === Question === Given a description (i.e., P ( X 1 ∧ X 2 ∧ ⋯ ∧ X N ∣ δ ∧ π ) {\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)} ), a question is obtained by partitioning { X 1 , X 2 , ⋯ , X N } {\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}} into three sets: the searched variables, the known variables and the free variables. The 3 variables S e a r c h e d {\displaystyle Searched} , K n o w n {\displaystyle Known} and F r e e {\displaystyle Free} are defined as the conjunction of the variables belonging to these sets. A question is defined as the set of distributions: P ( S e a r c h e d ∣ Known ∧ δ ∧ π ) {\displaystyle P\left(Searched\mid {\text{Known}}\wedge \delta \wedge \pi \right)} made of many "instantiated questions" as the cardinal of K n o w n {\displaystyle Known} , each instantiated question being the distribution: P ( Searched ∣ Known ∧ δ ∧ π ) {\displaystyle P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)} === Inference === Given the joint distribution P ( X 1 ∧ X 2 ∧ ⋯ ∧ X N ∣ δ ∧ π ) {\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)} , it is always possible to compute any possible question using the following general inference: P ( Searched ∣ Known ∧ δ ∧ π ) = ∑ Free [ P ( Searched ∧ Free ∣ Known ∧ δ ∧ π ) ] = ∑ Free [ P ( Searched ∧ Free ∧ Known ∣ δ ∧ π ) ] P ( Known ∣ δ ∧ π ) = ∑ Free [ P ( Searched ∧ Free ∧ Known ∣ δ ∧ π ) ] ∑ Free ∧ Searched [ P ( Searched ∧ Free ∧ Known ∣ δ ∧ π ) ] = 1 Z × ∑ Free [ P ( Searched ∧ Free ∧ Known ∣ δ ∧ π ) ] {\displaystyle {\begin{aligned}&P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\\={}&\sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\mid {\text{Known}}\wedge \delta \wedge \

Neural architecture search

Neural architecture search (NAS) is a technique for automating the design of artificial neural networks (ANN), a widely used model in the field of machine learning. NAS has been used to design networks that are on par with or outperform hand-designed architectures. Methods for NAS can be categorized according to the search space, search strategy and performance estimation strategy used: The search space defines the type(s) of ANN that can be designed and optimized. The search strategy defines the approach used to explore the search space. The performance estimation strategy evaluates the performance of a possible ANN from its design (without constructing and training it). NAS is closely related to hyperparameter optimization and meta-learning and is a subfield of automated machine learning (AutoML). == Reinforcement learning == Reinforcement learning (RL) can underpin a NAS search strategy. Barret Zoph and Quoc Viet Le applied NAS with RL targeting the CIFAR-10 dataset and achieved a network architecture that rivals the best manually-designed architecture for accuracy, with an error rate of 3.65, 0.09 percent better and 1.05x faster than a related hand-designed model. On the Penn Treebank dataset, that model composed a recurrent cell that outperforms LSTM, reaching a test set perplexity of 62.4, or 3.6 perplexity better than the prior leading system. On the PTB character language modeling task it achieved bits per character of 1.214. Learning a model architecture directly on a large dataset can be a lengthy process. NASNet addressed this issue by transferring a building block designed for a small dataset to a larger dataset. The design was constrained to use two types of convolutional cells to return feature maps that serve two main functions when convoluting an input feature map: normal cells that return maps of the same extent (height and width) and reduction cells in which the returned feature map height and width is reduced by a factor of two. For the reduction cell, the initial operation applied to the cell's inputs uses a stride of two (to reduce the height and width). The learned aspect of the design included elements such as which lower layer(s) each higher layer took as input, the transformations applied at that layer and to merge multiple outputs at each layer. In the studied example, the best convolutional layer (or "cell") was designed for the CIFAR-10 dataset and then applied to the ImageNet dataset by stacking copies of this cell, each with its own parameters. The approach yielded accuracy of 82.7% top-1 and 96.2% top-5. This exceeded the best human-invented architectures at a cost of 9 billion fewer FLOPS—a reduction of 28%. The system continued to exceed the manually-designed alternative at varying computation levels. The image features learned from image classification can be transferred to other computer vision problems. E.g., for object detection, the learned cells integrated with the Faster-RCNN framework improved performance by 4.0% on the COCO dataset. In the so-called Efficient Neural Architecture Search (ENAS), a controller discovers architectures by learning to search for an optimal subgraph within a large graph. The controller is trained with policy gradient to select a subgraph that maximizes the validation set's expected reward. The model corresponding to the subgraph is trained to minimize a canonical cross entropy loss. Multiple child models share parameters, ENAS requires fewer GPU-hours than other approaches and 1000-fold less than "standard" NAS. On CIFAR-10, the ENAS design achieved a test error of 2.89%, comparable to NASNet. On Penn Treebank, the ENAS design reached test perplexity of 55.8. == Evolution == An alternative approach to NAS is based on evolutionary algorithms, which has been employed by several groups. An Evolutionary Algorithm for Neural Architecture Search generally performs the following procedure. First a pool consisting of different candidate architectures along with their validation scores (fitness) is initialised. At each step the architectures in the candidate pool are mutated (e.g.: 3x3 convolution instead of a 5x5 convolution). Next the new architectures are trained from scratch for a few epochs and their validation scores are obtained. This is followed by replacing the lowest scoring architectures in the candidate pool with the better, newer architectures. This procedure is repeated multiple times and thus the candidate pool is refined over time. Mutations in the context of evolving ANNs are operations such as adding or removing a layer, which include changing the type of a layer (e.g., from convolution to pooling), changing the hyperparameters of a layer, or changing the training hyperparameters. On CIFAR-10 and ImageNet, evolution and RL performed comparably, while both slightly outperformed random search. == Bayesian optimization == Bayesian Optimization (BO), which has proven to be an efficient method for hyperparameter optimization, can also be applied to NAS. In this context, the objective function maps an architecture to its validation error after being trained for a number of epochs. At each iteration, BO uses a surrogate to model this objective function based on previously obtained architectures and their validation errors. One then chooses the next architecture to evaluate by maximizing an acquisition function, such as expected improvement, which provides a balance between exploration and exploitation. Acquisition function maximization and objective function evaluation are often computationally expensive for NAS, and make the application of BO challenging in this context. Recently, BANANAS has achieved promising results in this direction by introducing a high-performing instantiation of BO coupled to a neural predictor. == Hill-climbing == Another group used a hill climbing procedure that applies network morphisms, followed by short cosine-annealing optimization runs. The approach yielded competitive results, requiring resources on the same order of magnitude as training a single network. E.g., on CIFAR-10, the method designed and trained a network with an error rate below 5% in 12 hours on a single GPU. == Multi-objective search == While most approaches solely focus on finding architecture with maximal predictive performance, for most practical applications other objectives are relevant, such as memory consumption, model size or inference time (i.e., the time required to obtain a prediction). Because of that, researchers created a multi-objective search. LEMONADE is an evolutionary algorithm that adopted Lamarckism to efficiently optimize multiple objectives. In every generation, child networks are generated to improve the Pareto frontier with respect to the current population of ANNs. Neural Architect is claimed to be a resource-aware multi-objective RL-based NAS with network embedding and performance prediction. Network embedding encodes an existing network to a trainable embedding vector. Based on the embedding, a controller network generates transformations of the target network. A multi-objective reward function considers network accuracy, computational resource and training time. The reward is predicted by multiple performance simulation networks that are pre-trained or co-trained with the controller network. The controller network is trained via policy gradient. Following a modification, the resulting candidate network is evaluated by both an accuracy network and a training time network. The results are combined by a reward engine that passes its output back to the controller network. == One-shot models == RL or evolution-based NAS require thousands of GPU-days of searching/training to achieve state-of-the-art computer vision results as described in the NASNet, mNASNet and MobileNetV3 papers. To reduce computational cost, many recent NAS methods rely on the weight-sharing idea. In this approach, a single overparameterized supernetwork (also known as the one-shot model) is defined. A supernetwork is a very large Directed Acyclic Graph (DAG) whose subgraphs are different candidate neural networks. Thus, in a supernetwork, the weights are shared among a large number of different sub-architectures that have edges in common, each of which is considered as a path within the supernet. The essential idea is to train one supernetwork that spans many options for the final design rather than generating and training thousands of networks independently. In addition to the learned parameters, a set of architecture parameters are learnt to depict preference for one module over another. Such methods reduce the required computational resources to only a few GPU days. More recent works further combine this weight-sharing paradigm, with a continuous relaxation of the search space, which enables the use of gradient-based optimization methods. These approaches are generally referred to as differentiable NAS and have proven very efficient in exploring the search space of ne