{'fraction_non_alphanumeric': 0.024938264904615887, 'fraction_numerical': 0.010800249654012103, 'mean_word_length': 5.065174456879526, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Expert System Gradient Descent Style Training: Development of a Defensible Artificial Intelligence Technique

Artificial intelligence systems, which are designed with a capability to learn from the data presented to them, are used throughout society. These systems are used to screen loan applicants, make sentencing recommendations for criminal defendants, scan social media posts for disallowed content and more. Because these systems don't assign meaning to their complex learned correlation network, they can learn associations that don't equate to causality, resulting in non-optimal and indefensible decisions being made. In addition to making decisions that are sub-optimal, these systems may create legal liability for their designers and operators by learning correlations that violate anti-discrimination and other laws regarding what factors can be used in different types of decision making. This paper presents the use of a machine learning expert system, which is developed with meaning-assigned nodes (facts) and correlations (rules). Multiple potential implementations are considered and evaluated under different conditions, including different network error and augmentation levels and different training levels. The performance of these systems is compared to random and fully connected networks.

Artificial intelligence systems have found use in numerous areas of society. These systems are used to screen loan applicants [1], to make sentencing recommendations for criminal defendants [2][3][4], to scan social media posts for disallowed content [5] and identify poster mental health issues [6], to make medical recommendations [7] and more. Many systems are designed with a capability to learn from the data presented to them as part of a supervised [8], semi-supervised [9] or unsupervised [10] training process. Through this learning process, the algorithm makes associations between input data and output results, thus identifying characteristics of inputs that are associated with characteristics of outputs.
However, because the systems don't assign meaning to the complex learned correlation network, they can learn associations that are based on correlations that are different from causality. They can also learn invalid relationships due to limited, skewed or erroneous training data. The creation of a bad model will, in most cases, result in non-optimal decisions being made. The potential for improperly informed or biased decisions, without the system or its developers even being aware that it is doing so, may be one reason why a survey by Araujo, et al. [11] found that the public is concerned about the use of artificial intelligence.
These systems may also learn correlations that violate anti-discrimination and other laws regarding what factors can be used in different types of decision making. O'Neil [12] notes that big data analytics has a "dark side", as autonomous decision systems can reinforce patterns of income discrimination, income equality and other societal inequities. D'Ignazio and Klein [13], similarly, note that autonomous data analysis systems may follow traditional power structures, based on the data that they learn from, thereby further disenfranchising the historically disenfranchised. Though perhaps well-meaning, machine learning systems can inadvertently become what Noble has aptly termed "algorithms of oppression" [14]. Spurious learning could also lead to civil liability [15,16]. This paper presents a potential solution to the problem of machine learning without the evaluation of associated correlation meaning. It considers the use of an expert system (see, [17] for more details about expert systems), which is developed with meaning-assigned nodes (facts) and correlations (rules) and the optimization of its decision making using machine learning techniques. Several different potential implementations are considered and evaluated under multiple operating conditions, including different network designs, error and augmentation (as compared to a perfect system) levels and different training levels. The performance of these approaches is compared. The proposed systems are also compared to systems using random and fully connected networks.

Background
This section considers prior work in key areas that provide a foundation for the current work presented herein. First, work on expert systems is reviewed. Then, prior work on gradient descent and other related learning techniques is presented.

Expert Systems
Some contend that expert systems were introduced in 1965 by Feigenbaum and Lederberg [18], who developed a system called Dendral, which separated knowledge storage from its processing engine and used a rule-based engine for problem solving [19]. The Dendral system was designed to formulate hypotheses for chemistry problems. Others, though, consider the Mycin system, developed in the 1970s for medical applications, to be the first true expert system [19].
Classical expert systems used a rule-fact network for inference [17]. In the most basic form, facts can have the binary values of true or false and rules identify additional facts that can be asserted as true, based on two precursor facts being asserted as true. The rules processing engine scans the knowledge base for rules whose preconditions are satisfied and runs them, setting the value of designated postcondition facts. Expert systems have found use in numerous fields including medicine [20] [21], power systems [22], facial feature identification [23], agriculture [24], education [25] and geographic information systems [26].
A variety of enhancements have been proposed to expert systems, including different optimization techniques [27] such as using genetic algorithms and principals related to neural networks. Hybrid expert systems [28] that use optimization and other techniques, such as backpropagation, from neural networks and systems that are actual neural networks have been demonstrated.
Expert systems based on fuzzy logic have also been proposed. These systems use fuzzy set concepts [29] and can represent the uncertainty present in fact values and rules. Mitra and Pal [30] define a taxonomy for these fuzzy logic-based systems. "Fuzzy expert systems" just use fuzzy sets as part of a normal expert systems, while "fuzzy neural network[s]" use fuzzy sets and a neural network [30]. When neural networks and expert systems are combined, with a neural network's connection weights being used to generate rules (instead of a human knowledge engineer), this is a "connectionist expert system" [30]. "Neuro-fuzzy expert systems" build on connectionist concepts, storing the knowledge base in a fuzzy neural network. Several "neurofuzzy expert systems" have been developed including systems for diabetes therapy [31], autonomous vehicle obstacle avoidance [32], heart disease diagnosis [33], hypertension diagnosis [34], and software architecture evaluation [35].
Mitra and Pal [30], though, go beyond this basic concept and define a "knowledge-based connectionist expert system" which starts with "crude rules" that are stored as connection weights within a neural network and then training is used to produce refined rules. A Google Scholar search did not find any references to implementations of systems of this type. While this type of system could have a predisposition towards valid associations, based upon the initial "crude rules", training within the neural network could still cause the system to learn invalid and potentially problematic relationships.

Gradient Descent and Machine Learning
Gradient descent and, specifically, back-propagation techniques are used frequently with neural network implementations. Gradient descent seeks to optimize inputs to find a minimum output, such as the error level value of training data and its result. Backpropagation [36] changes weights throughout a neural network, iteratively, based on differences between the networkproduced and target output values.
A variety of enhancements to these techniques have been proposed. These include techniques focused on speed enhancement [37], including those which introduce noise [38], use federated learning and momentum [39] and use evolutionary algorithms [40]. Other prior work has focused on system bias factors [41,42], initial condition sensitivity [43] and attack resilience [44,45]. Yet others have tried incorporating other artificial intelligence techniques for training, including genetic algorithms [46], Levenberg-Marquardt training algorithms [47], particle swarm optimization [48] and simulated annealing [48].
Techniques which use speculative approaches [49], spiking neural network concepts [50,51] and memory use optimization [52] have also been proposed. Kim and Ko [53] and (separately) Ma, Lewis and Kleijn [54] have proposed techniques which train neural networks while specifically avoiding backpropagation altogether.
Problematically, beyond the general concepts of gradient descent and backpropagation, these techniques largely depend on or are optimized for the particular structure used by neural networks. This makes them informative, but not directly useful, for other areas of potential application.

System Description
This paper proposes to conceptually merge an expert system and neural network. Unlike the methods of using neural networks to generate rules for expert systems, discussed by Mitra and Pal [30], it proposes an approach to applying the concepts of gradient descent and backpropagation on the expert system rule network itself.
To this end, the system proposed herein is comprised of a typical expert system engine that processes rules in a forward fashion. A training module, that operates largely independent of the expert system engine (the engine is used as part of training to determine the output of the rulefact network) is used to optimize the rule weightings. This module is described in Section 4.
An expert system that supports the concept of partial membership and ambiguity, where facts can have a probabilistic or partial membership value between 0 and 1 instead of simply being true or false, is used for this work. In line with this, rules are more complex than simply requiring that two facts be true, as a precondition, and asserting a third, if the precondition is met. Instead, rules have weighting values for the comparative impact of both input facts on the value of the output fact. These weightings must be between 0 and 1 and their sum must be 1.
For the purposes of experimentation, the expert system is tasked with determining the value of a target final fact. During each system run, a rule-fact network is created randomly. The number of rules and facts are user-defined simulation parameters. When rules are created, facts are selected at random as input and output facts. Rules are checked against the existing ruleset to prevent duplication. During a run, an initial fact and final fact are randomly selected from all of the facts available in the network. The initial fact has an initial value of 0.99 assigned and the final fact's value is recorded at the end of the run. A run ends when no facts are modified during a particular iteration of operations. Runs end immediately if the final fact starts with a value satisfying run completion.
To test the effect of different training approaches, the performance of the system under each experimental condition was evaluated 1,000 times. Evaluation runs that do not complete (due to connectivity and other issues with the randomly generated networks) and runs that complete immediately are excluded from error-result and processing time averages. All runs were performed on the same workstation with a tenth generation Intel i7 processor and 16 GB of RAM.

Gradient Descent Inspired Training Mechanism
The proposed system requires a new algorithm for training, as its configuration is significantly different than the configuration of a typical neural network that backpropagation is designed to work with. Figure 1 (left) shows a typical neural network and its interconnections. Notably each node in a given layer is connected to all nodes in the previous and subsequent layers; however, nodes within a given layer are not connected. Additionally, nothing is connected to a node in a layer that is not directly adjacent to the current layer.
Because of this configuration, every other node in the networkbesides the other nodes in the output layerpotentially contributes to the value of each output node. This is depicted in Figure  1 (right). This is dramatically different from the configuration of the proposed system where no concept of layers exists and any node can, potentially, be connected to any other node. However, in many cases, these connections are sparse and only a limited number of nodes contribute to the value of a particular target node. showing what nodes and segments contribute to the value of a given output node (right).
The comparative number of facts and rules in the network as well as (for the randomly created networks used for testing) random chance determines how many and what facts and rules can contribute to a given target fact. This is visually depicted in Figure 2. Notably, while Figure 2 shows the facts and rules arranged in a layer-like manner for readability, no such logical or physical organization exists within the system.

Key
Fact Rule Figure 2. Showing rules and facts contributing to the value of a given fact in an expert system.
Given this, the linear algebra used for neural network backpropagation is not suitable for the learning expert system. Instead, a new model for distributing change is proposed and evaluated herein. This model identifies all rules that directly or indirectly contribute to the target node and distributes a portion of the difference between the truth node (input data used for training) value and the network-under-training's computed node value to the weightings of these rules. The percentage of the difference that is split between all contributing nodes is determined by a userconfigurable velocity value.
In addition to the user-configurable velocity value setting, the number of training epochs, the network configuration type, the number of facts and rules, and the training model that are used are all user configurable. These settings form the bases for the experiments and experimental conditions described in Sections 5 to 7 and are described, more fully, at the point that they are first discussed.
For each training epoch, the network is run in forward-mode and the contributing rules to the designated target fact are identified. The contribution of each rule is determined by multiplying rules that must pass through other rules for their impact by the percentage impact of the relevant input of the intervening rules. Once the level of error between the truth and algorithm-generated network is determined, a percentage of this error (determined by the velocity setting value) is applied to each contributing rule's weightings based on its level of contribution and the value of its facts. Depending on the change that is required to the target node value, additional or reduced weight is, appropriately, given to the higher and lower values' input facts weightings. Subsequent epochs repeat this process.

Network Implementation Evaluation
In this section, the defensible artificial intelligence technique is explored via the evaluation of the benefits of its key characteristics. First, the impact of the network design is assessed. Then, the impact of training on the network is assessed.

Impact of Network Types
The assessment of the proposed technique starts with an evaluation of the impact of the network itself. For the purposes of this experiment, networks were randomly generated, as previously described, with multiple characteristics. In all cases, a base network was generated that served as the truth network. For the base condition (as shown in Tables 1 to 3), this network was replicated with its rule weightings reset and no other changes made. The augmented conditions added additional rules to the network corresponding to the percent (1%, 5%, 10%, 25% and 50%) shown and reset the rule weightings. The error networks changed a percent of the rules corresponding to the value shown (10%, 25% and 50%) in the table and reset the rule weightings. The fully connected (FC) network was generated by creating interconnecting rules between all facts. The random network was created by regenerating the network's rules without regard to the rules in the base network.
All of the experimental conditions were trained and evaluated 1,000 times and the averages of the runs are shown in the tables. Note that only runs that successfully complete are included in the processing time and result averages. Runs where the final fact cannot be asserted or starts asserted are not included. A velocity of 0.1, path-based trainingwhere a single path is used for all training activities, and a consistent set of facts (for each individual run) were used. The data in Tables 1 to 3 was generated with a network 11 facts. In all cases, except for fully connected, 11 rules were also created. The FC network created rules interconnecting all facts. The limited network size used is due to the requirements of the FC network and the number of rules required to fully connect the nodes. An 11-node network requires hundreds of rules and, thus, requires a significant amount of memory and processing time. The overall training and testing time of the 1,000 tests for the FC network is 46,570 milliseconds as opposed to 17,009 milliseconds for the base network. This time includes all run setup activities. Individual run times for the FC network take orders of magnitude longer than for other network types. The base network average runtime, for example, was 299 tics versus 169,338 tics for the fully connected network. Table 1 presents the average results of the truth network and the algorithm-generated network, after one training epoch. Table 2 compares the results of the truth network and the algorithmgenerated network in terms of the mean and median error values from the 1,000 runs. Finally, Table 3 illustrates the performance of the various network types in terms of higher-error level and lower-error level networks. As backpropagation / gradient descent [55] and neural networks [56] are known to suffer from issues related to local minima, the different impact of approaches on higher and lower error-level runs is specifically considered throughout this paper. The impact of the rule-fact network itself is readily apparent from the data presented in Table 2.
The base network (where the rule-fact structure is the same, but network weightings have been resent with one training epoch of correction) performs demonstrably better than the FC and random networks. The augmented and error networks also perform better than the random and FC networks, which exhibit approximately triple the error of other approaches. Notably, the FC and random networks, as shown in Table 3, have a much higher level of high-error runs (approximately 75% of runs, in both cases) than other network types (less than 40% in other cases). However, the FC and random networks have a similar average error level for the lowererror level runs as most other network types, with the FC network actually performing best, in terms of this metric.
From the foregoing, the impact of the network structure, alone, is very clear and, thus, is a notable contribution of the proposed technique, in addition to the additional accuracy provided through the rules' fact contribution weightings. Notably, the FC network was able to be readily trained to perform well, but at a much higher processing cost, and with a greater risk of becoming trapped in a local minima.
While an 11-node network was used to facilitate the comparison of networks' performance to the FC network (which grows in complexity by at least an order of magnitude for every additional node beyond 10), 100-rule/100-fact networks will be used for most other analysis in this paper (the impact of different network rule and fact combinations is also considered, later). For the purposes of comparison, Tables 4 to 6 present data similar to that presented in Tables 1 to 3 for 100-rule/100-fact networks. As is to be expected, the processing time of the 100-node networks is greater than the 11-node networks. For the entire 1,000 runs of training and testing, the 100node network took 21,635 milliseconds versus 17,009 milliseconds for the 11-node network.
Notably, these times include setup, processing and evaluation activities, in addition to just the training times, making the differences between the values (as opposed to the values themselves) of interest. It is also worth noting that the 1-epoch-of-training networks process faster than networks with more training, which become more complex as weightings are optimized.  With this level of rules and facts, the random network still performs notably worse than the other network types; however, the other networks (with errors or augmentations), perform roughly equivalently. With only one training Epoch, error for the non-random networks ranges from approximately 8% to 9% (as compared to the approximately 25% error for the random network with one epoch of training). These results show that the proposed approach exhibits robustness with regards to having additional and erroneous nodes. This is important, as it means that small errors in network creation (either by humans or by a future automated technique) may not, in many cases, have a large impact on the efficacy and accuracy of the system.

Impact of Training Epochs
Next, the impact of different levels of training is assessed. The results from training levels ranging from 1 epoch to 1000 epochs are presented in Tables 7 to 9. An epoch, for this system, is defined as a single run of the expert system and the distribution of a fraction of the difference (specified by the velocity setting) between the network-under-training and truth network output values. As expected, the level of time required for training increases significantly between training levels. As an example, the overall run time for 1,000 runs of training, processing and evaluation increases from 159,991 milliseconds for 10 epochs of training to 429,710 milliseconds for 25 epochs of training to 1,843,462 milliseconds for 100 epochs of training.  Table 8, shows a clear decrease in error as more training is performed. This is explained when considering the average of the higher-error and lower-error runs, shown in Table 9. The lower-error runs show a pattern of decreasing error level, while a trend of increased average error is shown in the higher-error runs. Thus, it appears that increased training tends to increase the error of networks that may be trapped in a local minima, while further reducing the error levels of networks not experiencing this issue. This would appear to be consistent with prior work by Bianchini, Gori and Maggini [56], who noted a similar phenomenon when studying neural networks.

Impact of Network Implementation on Training Results
Having evaluated the comparative impact of different networks with only one epoch of training and the impact of different levels of training, focus now turns to comparing the different potential network configurations with more training (100 epochs) and comparing these networks to their performance with one epoch of training.

Comparison of Base Versus Random Network with Additional Training
Tables 10 to 12 present a comparison of the base (same structure as the truth network with reset rule input fact weightings) and random networks with 100 epochs of training. Notably the random network had over double the error level, both in terms of average and median values, and less than half the number of lower-error level runs. The 1,000 runs of the base and random networks did not have a notable difference in runtime, as would be expected as the random network is similarly complex to the base network. The additional training of the random network was not highly productive, producing an approximate 10% decrease in both average and median error levels (comparing the data in Table  11 to Table 5). This is similar to the impact of additional training on the base network.
Demonstrably, additional training does not improve the performance of the random network to be equivalent to the base network, showing the impact of the accuracy of the rule-fact network.

Comparison of the Performance of Different Sizes of Fully Connected and Base Networks with Greater Training
Fully connected networks could, inherently, be trained to have the pattern of any other network configuration, simply by setting inapplicable rule fact-contribution weights to 0. Thus, if they could be efficiently trained and run, they would be an ideal solution as they could learn the pattern of the truth network using a gradient descent or other similar process and would not require manual network creation or the development of another algorithm to create the network to train.
Thus, the performance of fully connected (FC) and non-fully connected (NFC) base networks is compared in this section. These results are presented in Tables 13 to 15.  What is perhaps most notable, about training the FC networks, is that the lower-error level runs reach approximately the same average error as the NFC lower-error level runs; however, only about half as many runs fall into this category. The error of the higher-error level runs is large, on the other hand, averaging just under half of the possible value range of the target fact. This shows that, as is expected, the FC networks can be trained; however, they are far more computationally expensive to train and operate and far more likely to end up in a local minima situation or an invalid configuration, as compared to the NFC networks. While the operating time could potentially be reduced by pruning non-contributing and minimally contributing nodes, this approach wouldn't necessarily fix the error present in the higher-error level runs.

Comparison of the Performance of Augmented and Error Networks with Additional Training and Additional Training on Network Types
In Section 5.1, the performance of various network types with minimal (1 epoch) of training was assessed. Now, the different network types are compared with 100 epochs of training and the impact of the additional training is compared for each network type.
Tables 16 to 18 present the impact of additional training on the augmented network types. Tables 19 to 21 present the impact of additional training on networks with induced error. As Tables 17 and 20 show, there is limited impact from augmenting the network or inducing error. The error levels fluctuate between augmentation and error levels, but do not show a clear pattern. Training, processing and evaluation time, similarly, fluctuates between the different sets of runs, but does not show a clear pattern. While the overall impact of augmentation and error is limited for a given trained path, this is likely due to compensation being caused within the network by the training process, which may result in the rule weightings and fact values of intervening rules and facts differing significantly from the truth network.  Tables 5 and 20. When  comparing Tables 6 and 21, there is no clear pattern between the higher-error runs; however, the average error of the lower-error runs decreases for all three error levels.
Thus, while additional training provides some benefit for the base network configuration, it doesn't appear to provide benefit consistently for the augmented networks, but does reduce the median error of the error-induced ones. Of course, the additional epochs of training increases the time required for the training process.

Comparison of the Impact of Different Velocity Levels on System Performance
The velocity value determines how quickly change, based on the identified discrepancy between the network-under-training and the truth network, is applied to the network-under-training. This section assesses whether different velocity values impact the performance of the system. Tables 22 to 24 present data for six different velocity values, ranging from 0.01 to 0.50 (the base value used throughout other experiments is 0.10). Increasing velocity correlates with lower average error indicating that a network can be successful trained at faster speeds and also suggesting that networks could, in some circumstances, potentially benefit from additional training beyond the 100 epochs tested. Notably, the increased training velocity causes a higher average error level in the high-error networks while reducing the average error level of the lower-error networks, as shown in Table  24. This explains the different trends shown in the average and median error values in Table 23. From the forgoing, it appears that increasing training velocity causes the network to move more quickly towards extremes resulting in increased and reduced average error levels in the highererror and lower-error networks, respectively.

Comparison of the Performance of Different Rule-Fact Configurations
This section considers the impact of the number of rules and facts on network performance. Two different questions are answered. First, the impact on error and processing time of different sizes is considered. Also, the impact of having the same number of facts and rules versus more facts than rules is evaluated. Tables 25 to 27 present data for networks ranging in size from 50 facts and 50 rules to 250 facts and 250 rules. When comparing the data, there does not appear to be a clear pattern of error based on network size or symmetry versus asymmetry. While the training, processing and evaluation time increases with the increase in the size of the network, the asymmetric networks require less time than the symmetric networks with either the same number of facts or the same number of rules. Across the different run sets, the asymmetric runs typically take approximately an order of magnitude less time to operate than the symmetric ones.
Thus, it is clear that the proposed technique works with networks of a variety of different sizes. While 100 epochs of training performed sufficiently, it is expected that additional training may be beneficial for larger network sizes. Most notably, it is shown that there is a significant performance speed benefit to the use of networks with asymmetric numbers of rules and facts.

Impact of Network Learning Approaches
Up until this point, a single method of training, where a single target fact is used and a single starting fact has its value set initially (in addition to setting random values for all facts in the network) has been used. However, other approaches to training can also be used. These are discussed in this section.
Specifically, in addition to this approach of training a single path with the same facts, a path can be trained by using random facts which are assigned for each training run, while maintaining the rule fact contribution weightings between training epochs and updating them through successive epochs of training. This approach allows the network-in-training to have its rule fact contribution weightings trained under multiple conditions and using more nuanced data.
Additionally, training can occur using multiple paths through the network by selecting different target facts and setting the initial value of different initial facts. Both approachesusing the same fact values and regenerating random values for each trainingcan be used with this multiple path approach.
All three of these approaches improve on the base (single path with same facts) approach that has been used throughout this paper, up until this point. Data characterizing their performance is presented in Tables 28 to 30. The three alternate training techniques show performance benefits, over the base technique, in terms of error levels. The path-based random fact training has slightly less average error as compared to the base approach, and the multiple paths approaches both have approximately 60% of the average error. The impact on median error is more pronounced, with the median error for the multiple paths approaches being below half of the base approach's and the path-based random facts approach showing a 10% error reduction. The multiple paths techniques also have more lower-error level runs than the base approach. Given the foregoing, these approaches clearly outperform the base approach in terms of accuracy.
While these additional approaches provide an effective theoretical solution for training-based optimization of the networks, they have practical implementation implications. The path-based random facts approach presumes that fact values would vary significantly (random generation assumed that facts were equally likely to be any value within the range). This is an assumption that would likely not be true for many application areas, where fact values would be similar even with variation from instance to instance.
The multiple path-based approaches present a logistical issue, in that numerous data collection mechanisms would be required to collect data related to the various paths throughout the network. In a real-world environment, this may be highly impractical and may increase the data collection expense of training significantly.
Thus, while these approaches present theoretical benefit in network training, their practical utility may be limited in many application areas. Techniques that collect data from a limited number of paths or use multiple fact value sets, as opposed to a single path or single fact value set, may provide a level of error reduction in between the approaches in this section. Application of the proposed technique to application areas and its evaluation in these areas as well as the exploration of hybrid training techniques remain key areas for future work.

Conclusions and Future Work
This paper has presented a machine learning-based artificial intelligence technique based on the enhancement of expert system rule-fact networks. Because the system is created using only logically-valid and meaning-defined connections, the potential for the system learning a completely invalid correlation due to confounding relationships or data accuracy issues is minimized.
The use of the underlying rule-fact network requires a process to create it. Certainly, human creation is possible, as has been demonstrated with the creation of numerous expert systems described in Section 2. However, this process is time consuming and may introduce error. The system is highly reliant on the integrity of this rule-fact network and the experimentation presented herein has shown that the network itself provides a significant amount of the system's overall accuracy. While some robustness to network error and unnecessary network augmentation has been shown in simulation, the impact of error in real world applications (as well as its impact on the accuracy of rule-level weightings and intervening fact values) remains a key area for future study.
The impact of a variety of system operation choices such as training velocity, training epochs and network size has been evaluated. The system was shown to operate under a myriad of different conditions, with some configurations producing enhanced performance while others had little impact or impaired performance. The characterization of the impact of these operation choices may be informative with regards to the potential performance of the system for specific application areas.
Finally, three additional modes of training were demonstrated that exhibited enhanced performance. Two of the three, which used different paths through the rule-fact network, would also have the benefit of training the network more robustly for numerous potential uses (which don't relate to a single trained path). However, while these approaches showed enhanced performance, they present potential logistical issues and, in the case of approaches using fact value randomization, may rely on an assumption (of fact value variation) that is not valid in many application areas.
The work presented herein, thus, demonstrates the potential efficacy of the use of gradient descent-style training on an expert system and discusses the benefits that it may have for some applications. Future work will be needed to explore these benefits and to demonstrate the efficacy of the system in actual application areas. Additionally, methods to develop rule-fact networks that reduce the level of human effort required and techniques to prevent training from getting stuck in local minima are both key areas of needed future work.