WO2019151536A1 - 機械学習装置 - Google Patents

機械学習装置 Download PDF

Info

Publication number
WO2019151536A1
WO2019151536A1 PCT/JP2019/004080 JP2019004080W WO2019151536A1 WO 2019151536 A1 WO2019151536 A1 WO 2019151536A1 JP 2019004080 W JP2019004080 W JP 2019004080W WO 2019151536 A1 WO2019151536 A1 WO 2019151536A1
Authority
WO
WIPO (PCT)
Prior art keywords
value
machine
values
neural network
output
Prior art date
Application number
PCT/JP2019/004080
Other languages
English (en)
French (fr)
Inventor
栄来 北川
雅人 江原
Original Assignee
トヨタ自動車株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2018216850A external-priority patent/JP6501032B1/ja
Priority claimed from JP2018216766A external-priority patent/JP2019135392A/ja
Application filed by トヨタ自動車株式会社 filed Critical トヨタ自動車株式会社
Priority to DE112019000020.9T priority Critical patent/DE112019000020B4/de
Priority to US16/486,836 priority patent/US10853727B2/en
Priority to CN201980001105.XA priority patent/CN110352297B/zh
Publication of WO2019151536A1 publication Critical patent/WO2019151536A1/ja

Links

Images

Classifications

    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F02COMBUSTION ENGINES; HOT-GAS OR COMBUSTION-PRODUCT ENGINE PLANTS
    • F02DCONTROLLING COMBUSTION ENGINES
    • F02D45/00Electrical control not provided for in groups F02D41/00 - F02D43/00
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Definitions

  • the present invention relates to a machine learning device.
  • the amount of intake gas into the combustion chamber becomes the actual amount of intake gas into the combustion chamber based on the values of engine operating parameters such as engine speed and intake air amount.
  • the weight of the neural network is learned in advance so as to match, and the amount of intake gas into the combustion chamber is estimated from the value of the engine operating parameter using the learned neural network during engine operation.
  • the use range of the value of a specific type of operation parameter relating to the internal combustion engine such as the engine speed can be assumed in advance according to the type of the engine.
  • the weight of the neural network is learned in advance so that the difference between the output value of the neural network and the actual value such as the actual intake gas amount into the combustion chamber becomes small with respect to the assumed use range.
  • the value of the engine operating parameter may be outside the presumed use range. In this case, learning based on the actual value is performed outside the presumed use range. For this reason, there is a problem that the output value calculated using the neural network becomes a value greatly deviating from the actual value. Such a problem occurs not only in the field of internal combustion engines, but also in various fields of machines that are subject to machine learning.
  • a specific type of operation parameter relating to the machine described above in a machine learning device for outputting an output value for a machine operation parameter value using a neural network, a specific type of operation parameter relating to the machine described above.
  • the number of nodes in the hidden layer of the neural network according to the range of values of specific types of operating parameters related to the machine described above is preset and newly acquired.
  • the value of a specific type of operation parameter related to the machine is out of the preset range, the number of nodes in the hidden layer immediately before the output layer of the neural network is increased, and the newly acquired Teacher data obtained by actual measurements and preset values for specific types of operating parameter values related to machines
  • the weight of the neural network is learned using the teacher data obtained by actual measurement with respect to the value of the operating parameter of the machine within the range, and the specific type of the machine described above is learned using the neural network whose weight is learned.
  • a machine learning device that outputs an output value corresponding to an operation parameter value.
  • a machine learning device for outputting an output value for a machine operation parameter value using a neural network
  • a plurality of types of operation parameters relating to the machine described above are provided.
  • the number of nodes in the hidden layer of the neural network according to the range of the values of a plurality of types of operation parameters related to the machine described above is set in advance and newly acquired.
  • the weight of the neural network is learned using the teacher data obtained by actual measurement with respect to the value of the operating parameter of the machine within the range, and a plurality of types related to the machine described above are used using the learned neural network.
  • a machine learning device that outputs an output value corresponding to an operation parameter value.
  • a plurality of types of operating parameters relating to the machine described above are provided.
  • a range of values of the above-mentioned machine is set in advance, and a neural network corresponding to a range of values of a plurality of types of operating parameters related to the above-mentioned machine is formed in advance, and a plurality of types related to the newly acquired above-mentioned machine
  • a new neural network is formed, and a plurality of types of the newly acquired machine related
  • a new neural network is created by using the teacher data obtained by actual measurement for the values of the operating parameters Learning the weight of click, machine learning system output values for the values of the operating parameters of the plurality of types relates to the aforementioned machine using trained neural network weights are output is provided.
  • FIG. 1 is an overall view of an internal combustion engine.
  • FIG. 2 is a diagram illustrating an example of a neural network.
  • 3A and 3B are diagrams showing changes in the value of the sigmoid function ⁇ .
  • 4A and 4B are diagrams showing output values from the neural network and the hidden layer nodes, respectively.
  • FIG. 5A and FIG. 5B are diagrams showing an output value from a hidden layer node and an output value from an output layer node, respectively.
  • 6A and 6B are diagrams showing output values from the neural network and nodes in the output layer, respectively.
  • 7A and 7B are diagrams for explaining a problem to be solved by the present invention.
  • 8A and 8B are diagrams showing a neural network and the relationship between the input value and the output value of the neural network, respectively.
  • FIG. 1 is an overall view of an internal combustion engine.
  • FIG. 2 is a diagram illustrating an example of a neural network.
  • 3A and 3B are diagrams showing changes in the value of
  • FIG. 9 is a diagram showing a neural network.
  • FIG. 10 is a flowchart for executing the learning process.
  • FIG. 11 is a diagram showing a modification of the neural network.
  • FIG. 12 is a flowchart showing another embodiment for executing the learning process.
  • FIG. 13 is a diagram showing a neural network.
  • 14A and 14B are diagrams showing a preset range such as the engine speed.
  • FIG. 15 is a diagram showing a modification of the neural network.
  • FIG. 16 is a flowchart showing still another embodiment for executing the learning process.
  • FIG. 17 is a diagram showing a learned segmented area that is segmented according to the value of the engine operating parameter.
  • FIG. 18A, 18B, and 18C are diagrams showing the distribution of the teacher data with respect to the engine speed and the ignition timing, the distribution of the teacher data with respect to the ignition timing and the throttle opening, and the relationship between the teacher data and the output value after learning, respectively. It is.
  • FIG. 19A and FIG. 19B are diagrams showing the relationship between teacher data and the output value after learning.
  • FIG. 20 is an overall view of a machine learning device for automatically adjusting an air conditioner.
  • FIG. 21 is a diagram showing a neural network.
  • 22A and 22B are diagrams showing a preset range such as an air temperature.
  • FIG. 23 is a flowchart showing still another embodiment for executing the learning process.
  • 24A and 24B are diagrams showing a preset range such as an air temperature.
  • FIG. 25 is a flowchart showing still another embodiment for executing the learning process.
  • FIG. 26 is an overall view of a machine learning device for estimating the deterioration degree of the secondary battery.
  • FIG. 27 is a diagram showing a neural network.
  • 28A and 28B are diagrams showing a preset range such as an air temperature.
  • FIG. 29 is a flowchart for executing the calculation process.
  • FIG. 30 is a flowchart for executing the teacher data acquisition process.
  • FIG. 31 is a flowchart showing still another embodiment for executing the learning process.
  • 32A and 32B are diagrams showing a preset range such as an air temperature.
  • FIG. 33 is a flowchart showing still another embodiment for executing the learning process.
  • FIG. 1 showing an overall view of an internal combustion engine
  • 1 is an engine body
  • 2 is a combustion chamber of each cylinder
  • 3 is a spark plug disposed in the combustion chamber 2 of each cylinder
  • 4 is fuel in each cylinder, for example,
  • 5 is a surge tank
  • 6 is an intake branch pipe
  • 7 is an exhaust manifold.
  • the surge tank 5 is connected to the outlet of the compressor 9 a of the exhaust turbocharger 9 via the intake duct 8, and the inlet of the compressor 9 a is connected to the air cleaner 11 via the intake air amount detector 10.
  • a throttle valve 12 driven by an actuator 13 is disposed in the intake duct 8, and a throttle valve opening sensor 14 for detecting the throttle valve opening is attached to the throttle valve 12.
  • An intercooler 15 for cooling the intake air flowing in the intake duct 8 is disposed around the intake duct 8.
  • the exhaust manifold 7 is connected to an inlet of an exhaust turbine 9 b of an exhaust turbocharger 9, and an outlet of the exhaust turbine 9 b is connected to an exhaust purification catalytic converter 17 via an exhaust pipe 16.
  • the exhaust manifold 7 and the surge tank 5 are connected to each other via an exhaust gas recirculation (hereinafter referred to as EGR) passage 18, and an EGR control valve 19 is disposed in the EGR passage 18.
  • EGR exhaust gas recirculation
  • Each fuel injection valve 4 is connected to a fuel distribution pipe 20, and this fuel distribution pipe 20 is connected to a fuel tank 22 via a fuel pump 21.
  • An NO X sensor 23 for detecting the NO X concentration in the exhaust gas is disposed in the exhaust pipe 16.
  • An air temperature sensor 24 for detecting the air temperature is disposed in the air cleaner 11.
  • the electronic control unit 30 is composed of a digital computer and includes a ROM (Read Only Memory) 32, a RAM (Random Access Memory) 33, a CPU (Microprocessor) 34, an input port 35 and an output port 36 connected to each other by a bidirectional bus 31. It comprises. Output signals of the intake air amount detector 10, the throttle valve opening sensor 14, the NO X sensor 23, and the atmospheric temperature sensor 24 are input to the input port 35 via corresponding AD converters 37. A load sensor 41 that generates an output voltage proportional to the amount of depression of the accelerator pedal 40 is connected to the accelerator pedal 40, and the output voltage of the load sensor 41 is input to the input port 35 via the corresponding AD converter 37.
  • ROM Read Only Memory
  • RAM Random Access Memory
  • CPU Microprocessor
  • crank angle sensor 42 that generates an output pulse every time the crankshaft rotates, for example, 30 ° is connected to the input port 35.
  • the CPU 34 the engine speed is calculated based on the output signal of the crank angle sensor 42.
  • the output port 36 is connected to the spark plug 3, the fuel injection valve 4, the throttle valve driving actuator 13, the EGR control valve 19, and the fuel pump 21 through corresponding drive circuits 38.
  • FIG. 2 shows an example of this neural network.
  • a circle in FIG. 2 represents an artificial neuron.
  • this artificial neuron is usually called a node or a unit (in this application, called a node).
  • the number of hidden layers can be one or any number, and the number of nodes in the input layer and the number of nodes in the hidden layer can also be any number.
  • FIG. 2 shows the case where the number of nodes in the output layer is one, but the number of nodes in the output layer can be two or more.
  • the input is output as it is at each node of the input layer.
  • this activation value A sigmoid function ⁇ is used as the conversion function.
  • Is used to calculate the total input value u ( ⁇ z ⁇ w + b), or the total input value u ( ⁇ z ⁇ w) is calculated using only the corresponding weight w.
  • the identity function is used in the node of the output layer. Therefore, the total input value u calculated in the node of the output layer is directly output as the output value y from the node of the output layer. Is done. ⁇ Expression of function by neural network>
  • the sigmoid function ⁇ used as the activation function will be described.
  • the slope of the curved portion of the sigmoid function ⁇ (wx + b) gradually becomes steeper as shown by the curves ⁇ 1 , ⁇ 2 , ⁇ 3 in FIG.
  • a case where there is one will be described as an example.
  • the input value u is converted by a sigmoid function ⁇ (x ⁇ w 1 (L2) + b 1 ) and output as an output value z 1 .
  • This input value u is converted by a sigmoid function ⁇ (x ⁇ w 2 (L2) + b 2 ) and output as an output value z 2 .
  • the identity function is used in the node of the output layer, and therefore, the total input value u calculated in the node of the output layer is not changed from the node of the output layer. Output as output value y.
  • FIG. 4B shows a change of the output value y when w 1 (y) , w 2 (y) > 1 and w 1 (y) > w 2 (y)
  • FIG. 4B (III) the output value y when w 1 (y) , w 2 (y) > 1 and w 1 (y) ⁇ w 2 (y) is shown. Is shown by a dashed line C.
  • the output values z 1 and z 2 are respectively multiplied by the corresponding weights w 1 (y) and w 2 (y) , and (III) in FIG.
  • the output value y when 1 (y) , w 2 (y) > 1 is indicated by a broken line.
  • FIG. 5B although each strip is drawn so that it may touch, in reality, each strip may overlap partially.
  • each strip does not have an accurate strip shape, but has a curved shape like the upper half of the curved portion indicated by ⁇ 3 in FIG. 3B. .
  • the value of each weight w and the value of the bias b in the neural network are learned using the error back propagation method.
  • This error back-propagation method is well known, and therefore the outline of the error back-propagation method will be briefly described below. Since the bias b is a kind of the weight w, the bias b is one of the weights w in the following description.
  • a neural network consisting of In the first embodiment the neural network weight is learned using the neural network as shown in FIG. 4A so that the output value y is expressed by a quadratic function of the input value x. Shows the case. 7A to 8B, the broken line indicates the waveform of the true quadratic function, the circle filled with black indicates the teacher data, and the ring-shaped circle indicates the output corresponding to the input value x.
  • the output value y after the learning of the weight of the neural network is performed so that the difference between the value y and the teacher data becomes small, and the solid curve shows the input value x and the output value y after the learning is completed. Shows the relationship. Further, in FIGS. 7A to 8B, between A and B, that is, R indicates a preset range of the input value x.
  • FIG. 7A and 7B are diagrams for explaining the problem to be solved by the present invention. Therefore, first, the problem to be solved by the present invention with reference to FIG. 7A and FIG. 7B. Will be described.
  • a function close to a quadratic function is represented.
  • the output value y is set for the preset range R by an appropriate combination of curve portions of a plurality of sigmoid functions ⁇ . Is expressed as a function close to a quadratic function.
  • the straight line portions at both ends of the curved portion where the sigmoid function ⁇ changes greatly are output as they are, as indicated by the solid line. Appears as value y. Accordingly, the output value y after completion of learning appears in the form of a function close to a quadratic function within the preset range R of the input value x, as indicated by the solid line in FIG.
  • the input value x is, for example, as shown by x 0 in FIG. 7B, when became a range R out which is previously set in the input value x, the input value x is x 0
  • the output value y 0 is included in the teacher data, and the weight of the neural network is learned.
  • z 1 1 of the sigmoid function ⁇ indicated by z 1 in FIG. Since the straight line portion rises to include the output value y 0 , the sigmoid function ⁇ indicated by z 2 in FIG.
  • the actual output amount y may be in the form of a quadratic function of the input value x when the value of a specific type of operating parameter related to the internal combustion engine is the input value x.
  • the value of a specific type of operation parameter relating to the internal combustion engine that is, the input value x is the engine speed N (rpm) and the output amount y is the exhaust loss amount.
  • the use range of the engine speed N is determined accordingly, and therefore the range of the engine speed N is set in advance.
  • the amount of exhaust loss indicates the amount of heat energy discharged from the engine combustion chamber, and is proportional to the amount of exhaust gas discharged from the engine combustion chamber. Is proportional to the temperature difference.
  • the exhaust loss amount is calculated based on a detected value such as a gas temperature when the engine is actually operated. Therefore, the calculated exhaust loss amount indicates a value obtained by actual measurement.
  • the output value y and the input value x are used by using the teacher data obtained by actual measurement.
  • the weight of the neural network is learned so that the difference from the teacher data corresponding to is reduced. That is, when the value of a specific type of operation parameter related to the internal combustion engine is within a preset range R, the output value y and the specific type of internal combustion engine are determined using the teacher data obtained by actual measurement.
  • the weight of the neural network is learned so that the difference from the teacher data corresponding to the value of the operation parameter becomes small.
  • the input value x that is, the engine speed N is outside the preset range
  • the number of nodes in the hidden layer of the neural network is increased and the newly acquired input value x, that is, The weight of the neural network is learned so that the difference between the output value y and the teacher data corresponding to the input value x is reduced using the teacher data obtained by actual measurement with respect to the engine speed N.
  • the neural network is used so that the difference between the output value y and the teacher data corresponding to the values of the operating parameters of the specific type related to the internal combustion engine is reduced. Network weights are learned. Therefore, in this case, even if the engine speed N is higher than the preset range R, the exhaust loss amount can be estimated relatively accurately.
  • exhaust loss amounts actually measured for various input values x within a preset range R are obtained in advance as teacher data, that is, a preset range.
  • Teacher data is obtained in advance by actual measurement with respect to the value of a specific type of operating parameter related to the internal combustion engine in R, and the structure of the neural network is determined from the value of the specific type of operating parameter related to the internal combustion engine and the teacher data.
  • the weight of the neural network is learned in advance so that the difference between the output value y and the teacher data corresponding to the value of a specific type of operating parameter relating to the internal combustion engine is reduced.
  • Teacher data obtained in advance by actual measurement with respect to the value of a specific type of operating parameter relating to the internal combustion engine within the preset range R is stored in the storage unit of the electronic control unit 30.
  • a neural network having the same structure as the neural network used in the pre-learning is used, and further learning is performed on-board during vehicle operation using the weight of the neural network when learning is completed.
  • FIG. 10 shows the learning processing routine of the first embodiment performed on board. Note that the learning processing routine shown in FIG. 10 is executed by interruption every predetermined time, for example, every second.
  • step 101 the learned weight stored in the storage unit of the electronic control unit 30 and the teacher data used in the prior learning, that is, preset, are set in advance.
  • the teacher data obtained in advance by actual measurement with respect to the value of a specific type of operating parameter related to the internal combustion engine in the range R, and the range R of the input data, that is, the value of the specific type of operating parameter related to the internal combustion engine Values A and B indicating a preset range are read.
  • This learned weight is used as an initial value of the weight.
  • step 102 the number K of nodes in the hidden layer immediately before the output layer of the neural network used in the previous learning is read.
  • a new input value x that is, a value of a specific type of operating parameter relating to the new internal combustion engine is acquired, and this new input value x, ie, a specific type relating to the new internal combustion engine.
  • the values of the operation parameters are stored in the storage unit of the electronic control unit 30.
  • the actual measured value of the exhaust loss amount with respect to the new input value x is stored in the storage unit of the electronic control unit 30 as teacher data. That is, in step 103, the teacher data obtained by actual measurement for the value of the specific type of operation parameter regarding the newly acquired internal combustion engine is stored in the storage unit of the electronic control unit 30.
  • step 104 whether or not the new input value x, that is, the value of a specific type of operation parameter relating to the newly acquired internal combustion engine is between A and B indicating a preset range R. That is, it is determined whether or not the new input value x is A or more and B or less.
  • the routine proceeds to step 105, where the input value x, that is, the newly acquired operating parameter of the specific type relating to the internal combustion engine is obtained.
  • Is input to a node of the input layer of the neural network and is obtained by actual measurement for the output value y output from the node of the output layer of the neural network and the value of a specific type of operating parameter relating to the newly acquired internal combustion engine.
  • the weight of the neural network is learned using the back propagation method so that the difference between the output value y and the teacher data becomes small.
  • step 104 it is determined that the new input value x, that is, the value of the specific type of operation parameter relating to the newly acquired internal combustion engine is not between A and B indicating the preset range R. If this is the case, the routine proceeds to step 106 where the number K of nodes in the hidden layer immediately before the output layer of the neural network is updated, and the number K of nodes in the hidden layer immediately before the output layer is increased. At this time, in the first embodiment, the number K of nodes in the hidden layer immediately before the output layer is increased by one.
  • step 107 the neural network is updated so as to increase the number K of nodes in the hidden layer immediately before the output layer, and then the process proceeds to step 105.
  • step 105 the teacher data newly obtained for the new input value x is also included in the teacher data, and the weight of the updated neural network is learned so that the difference between the output value y and the teacher data becomes small.
  • the teacher data obtained by actual measurement for the value of the specific type of operation parameter regarding the newly acquired internal combustion engine, and the specific type of operation regarding the internal combustion engine within a preset range R Depending on the value of a specific type of operating parameter relating to an internal combustion engine within a preset range and out of a preset range, using teacher data previously obtained by actual measurement with respect to the parameter value
  • the weights of the updated neural network are learned so that the difference between the changing output value y and the teacher data corresponding to the value of a specific type of operating parameter relating to the internal combustion engine becomes small.
  • the value of the specific type of operating parameter relating to the newly acquired internal combustion engine is outside the preset range, the value of the specific type of operating parameter relating to the newly acquired internal combustion engine is actually measured.
  • the number of teacher data obtained by the above is a certain number of two or more, the number of nodes in the hidden layer immediately before the output layer of the neural network can be increased. Therefore, in the first embodiment, when the value of the specific type of operation parameter regarding the newly acquired internal combustion engine is outside the preset range, the specific type of operation regarding the newly acquired internal combustion engine is performed. As the number of teacher data obtained by actual measurement with respect to the parameter value increases, the number of nodes in the hidden layer immediately before the output layer of the neural network increases.
  • the number of nodes in the hidden layer immediately before the output layer of the neural network can be increased in accordance with the increase in the data density of the teacher data in the range of preset operation parameter values.
  • B and C respectively indicate the minimum value and the maximum value of the range of the preset operation parameter value. Therefore, to be exact, the number of teacher data is the value of the operation parameter.
  • the node of the hidden layer immediately before the output layer of the neural network The number can be increased.
  • the internal combustion engine used in the embodiment of the present invention includes an electronic control unit 30.
  • the electronic control unit 30 acquires values of operating parameters of the internal combustion engine.
  • a parameter value acquisition unit a calculation unit that performs calculation using a neural network including an input layer, a hidden layer, and an output layer, and a storage unit.
  • the input port 35 shown in FIG. 1 constitutes the above-described parameter value acquisition unit
  • the CPU 34 constitutes the above-described arithmetic unit
  • the ROM 32 and RAM 33 constitute the above-described storage unit.
  • the value of the operating parameter of the internal combustion engine is input to the input layer, and the output value that changes according to the value of the operating parameter of the engine is output from the output layer.
  • a range R set in advance for the value of a specific type of operation parameter related to the internal combustion engine is stored in advance in the ROM 32, that is, in the above-described storage unit.
  • the teacher data previously obtained by actual measurement with respect to the learned weight and the value of the specific type of operation parameter regarding the internal combustion engine within the preset range R is stored in the RAM 33, that is, the above-described data. It is stored in the storage unit.
  • FIG. 11 shows a modification of the neural network used in the first embodiment according to the present invention.
  • the input value x is the engine speed N (rpm).
  • one output amount y 1 is the exhaust loss amount as in the example shown in FIG. 9, and the other output amount y 2 is a quadratic function of the input value x.
  • the operation parameters related to the internal combustion engine are composed of a plurality of types of operation parameters, and learning of the weight of the neural network is performed based on the values of the plurality of types of operation parameters related to the internal combustion engine.
  • the operation parameters of the internal combustion engine include the engine speed, the accelerator opening (the amount of depression of the accelerator pedal), and the outside air temperature, and the output torque of the internal combustion engine is determined based on the values of the operation parameters of the internal combustion engine.
  • the case of creating a neural network model to be estimated is shown. In this specific example, as shown in FIG.
  • the input value x 2 and the input value x 3 showing the outside air temperature indicates a is input.
  • FIG. 14A between A 1 and B 1 , that is, R 1 indicates a preset range of engine speed, and between A 2 and B 2 , that is, R 2 is an accelerator.
  • the range of the opening degree is set in advance, and between A 3 and B 3 , that is, R 3 indicates the preset range of the outside air temperature.
  • 14B also shows a preset range of the engine speed between A 1 and B 1 , and similarly to FIG. 14A, the accelerator opening is preliminarily set between A 2 and B 2.
  • the set range is shown, and between A 3 and B 3 is a preset range of the outside air temperature.
  • the accelerator opening is detected by the load sensor 41, and the outside air temperature is detected by the atmospheric temperature sensor 24.
  • the output torque of the engine is measured by a torque sensor attached to the engine crankshaft, and the torque obtained by this measurement is used as teacher data.
  • the Teacher data obtained in advance by actual measurement for the values of a plurality of types of operation parameters relating to the internal combustion engine within the preset range Rn is stored in the storage unit of the electronic control unit 30.
  • a neural network having the same structure as the neural network used in the pre-learning is used, and further learning is performed on-board during vehicle driving using the weight of the neural network when learning is completed.
  • FIG. 12 shows a learning process routine of the second embodiment performed on-board. This learning process routine is executed by interruption every predetermined time, for example, every second.
  • step 201 the learned weight stored in the storage unit of the electronic control unit 30 and the teacher data used in the prior learning, that is, preset, are set in advance.
  • Teacher data obtained in advance by actual measurement with respect to a plurality of types of operating parameter values relating to the internal combustion engine within the range Rn, and a range of input data, that is, a plurality of types of operating parameter values relating to the internal combustion engine in advance.
  • This learned weight is used as an initial value of the weight.
  • step 202 the number K of nodes in the hidden layer immediately before the output layer of the neural network used in the previous learning is read.
  • step 203 a new input value x, i.e., a plurality of types of operating parameter values relating to the new internal combustion engine, is acquired, and this new input value x, i.e., a plurality of types relating to the new internal combustion engine.
  • the values of the operation parameters are stored in the storage unit of the electronic control unit 30.
  • step 203 the actual measured value of the engine output torque for the new input value x is stored in the storage unit of the electronic control unit 30 as teacher data. That is, in step 203, teacher data obtained by actual measurement for a plurality of types of operation parameter values regarding the newly acquired internal combustion engine is stored in the storage unit of the electronic control unit 30.
  • the new input value x n that is, the values of the plurality of types of operation parameters relating to the newly acquired internal combustion engine are within the preset range Rn (between An and Bn). It is determined whether or not there is, that is, whether or not the new input value xn is greater than or equal to An and less than or equal to Bn.
  • the routine proceeds to step 205, where each input value xn , that is, the values of a plurality of types of operation parameters relating to the newly acquired internal combustion engine are obtained.
  • the weight of the neural network is learned using the error back propagation method so that the difference between the output value y and the teacher data becomes small.
  • a new input value x n that is, a value of at least one type of operation parameter among a plurality of types of operation parameter values relating to the newly acquired internal combustion engine is preset.
  • range Rn when it is determined not within (between an and Bn), for example, the input value x 1 showing the engine speed in FIG. 14B, in advance from B 1 to C 1 (B 1 ⁇ C 1 )
  • the input value x 3 indicating the outside air temperature in FIG. 13B is set in advance from C 3 to A 3 (C 3 ⁇ A 3 ). If it is within the range (C 3 -A 3 ), the process proceeds to step 206.
  • the number / (C n ⁇ B n ) or the number of teacher data / (A n ⁇ C n )) is calculated.
  • B 1 and C 1 are the minimum value and maximum value of the preset range of the engine speed, that is, the minimum value and maximum value of the preset range of the operating parameter values, respectively.
  • the teacher data density D is obtained by dividing the number of teacher data by the difference value (C 1 -B 1 ) between the maximum value C 1 and the minimum value B 1 indicating the preset range of the values of the driving parameters. Shows the value.
  • C 3 and A 3 respectively represent the minimum value and maximum value of the preset outside air temperature range, that is, the minimum value and maximum value of the preset range of operation parameter values.
  • the teacher data density D is obtained by dividing the number of teacher data by the difference value (C 3 -A 3 ) between the maximum value C 3 and the minimum value A 3 indicating the preset range of the driving parameter values. The value is shown.
  • the teacher data density D is calculated, whether the teacher data density D is higher than the data density D 0 of the predetermined are determined. If the teacher data density D is lower than the data density D 0 predetermined to complete the processing cycle.
  • step 206 when it is determined in step 206 that the teacher data density D is higher than the predetermined data density D 0 , the process proceeds to step 207.
  • K indicates the number of nodes, and round means rounding.
  • step 208 the process proceeds to step 208, where the number K of nodes in the hidden layer immediately before the output layer of the neural network is updated, and the number of hidden layers in the immediately preceding output layer is updated.
  • the number of nodes K is increased by the number of additional nodes ⁇ (K ⁇ K + ⁇ ).
  • the output of the neural network is increased.
  • the number of nodes in the hidden layer immediately before the layer is increased.
  • the output of the neural network is increased in accordance with the increase in data density obtained by dividing the number of teacher data by the difference between the maximum value and the minimum value indicating the preset range of the driving parameter value.
  • the number of nodes in the hidden layer immediately before the layer is increased.
  • step 207 the process proceeds from step 206 to step 207 when the teacher data density D reaches the predetermined data density D 0 , and is therefore used in the calculation of the additional node number ⁇ in step 207.
  • the value of (A n ⁇ C n ) and the value of (C n ⁇ B n ) are proportional to the number of teacher data. Therefore, as can be seen from the above equation, the number of additional nodes ⁇ is proportional to the number of teacher data in the range (B n to C n ) or the range (C n to A n ) to which the new input value x n belongs. become.
  • one of the output layers of the neural network is selected in accordance with an increase in the number of teacher data obtained by actual measurement for a plurality of types of operating parameter values relating to the newly acquired internal combustion engine.
  • the number of nodes in the previous hidden layer will be increased.
  • step 208 When the number K of nodes in the hidden layer immediately before the output layer is increased by the number of additional nodes ⁇ in step 208 (K ⁇ K + ⁇ ), the process proceeds to step 209 and the node in the hidden layer immediately before the output layer.
  • the neural network is updated to increase the number K of.
  • step 205 the teacher data newly obtained for the new input value x is also included in the teacher data, and the weight of the updated neural network is learned so that the difference between the output value y and the teacher data becomes small. Is done.
  • step 205 the teacher data obtained by actual measurement for the newly acquired values of the plurality of types of operation parameters regarding the internal combustion engine, and the plurality of types of operation regarding the internal combustion engine within the preset range Rn.
  • the teacher data obtained in advance by actual measurement with respect to the parameter value The weights of the updated neural network are learned so that the difference between the changing output value y and the teacher data corresponding to the values of a plurality of types of operation parameters related to the internal combustion engine becomes small.
  • the values An and Bn indicating the range Rn set in advance for the values of a plurality of types of operation parameters relating to the internal combustion engine are stored in the ROM 32 in advance, that is, the storage unit described above. Is remembered.
  • the teacher data obtained in advance by actual measurement for the learned weights and the values of a plurality of types of operation parameters related to the internal combustion engine within the preset range Rn are stored in the RAM 33, that is, the above-described It is stored in the storage unit.
  • FIG. 15 shows a modification of the neural network used in the second embodiment according to the present invention.
  • the input value x 1 are the engine speed
  • the input value x 2 are an accelerator opening
  • the input value x 3 is the outside air temperature ing.
  • one output amount y 1 is the output torque of the internal combustion engine as in the example shown in FIG. 13, and the other output amount y 2 is the thermal efficiency of the internal combustion engine. Yes. This thermal efficiency is calculated based on detected values of the engine speed, engine load, intake air pressure, intake air temperature, exhaust gas pressure, exhaust gas temperature, engine cooling water temperature, etc. when the engine is actually operated.
  • the operation parameters related to the internal combustion engine are made up of a plurality of types of operation parameters, and the weight of the neural network is learned based on the values of the plurality of types of operation parameters related to the internal combustion engine.
  • the range of values of various types of operation parameters is set in advance for each of a plurality of types of operation parameters related to the internal combustion engine.
  • FIG. 17 shows, as an example, a case where the operation parameters related to the internal combustion engine are composed of two types of operation parameters.
  • the preset range of the value of one type of operation parameter is Rx
  • the other The preset range of the value of the operation parameter of the type is indicated by Ry.
  • the preset ranges Rx and Ry of the various operation parameter values are divided into a plurality of values, and the operation parameter values of the various types are classified.
  • X1, X2... Xn and Y1, Y2... Yn indicate the division ranges of the various operation parameter values.
  • the operating parameters of the internal combustion engine include the engine speed and the outside air temperature.
  • X1, X2,... Xn indicate, for example, engine speeds divided every 1000 rpm (1000 rpm ⁇ X1 ⁇ 200 rpm, 2000 rpm ⁇ X2 ⁇ 3000 rpm,...), Y1, Y2,. Yn indicates an outside air temperature (for example, ⁇ 30 ° C. ⁇ Y1 ⁇ 20 ° C., ⁇ 20 ° C. ⁇ Y2 ⁇ 10 ° C.) divided every 10 ° C.
  • an independent neural network is created for each segmented area [Xn, Ym].
  • the hidden layer node immediately before the output layer of the neural network in the segmented region [Xn, Ym]. Is expressed in Knm.
  • the number Knm of the hidden layer nodes is set in advance according to the complexity of the change in the teacher data with respect to the change in the input value in each segmented area [Xn, Ym].
  • HC sensor instead to the NO X sensor 23 shown in FIG. 1 is disposed in the exhaust passage.
  • the HC emission amount from the engine is actually measured by the HC sensor, and the HC emission amount obtained by the actual measurement is used as teacher data.
  • HC sensor in addition to the NO X sensor 23 shown in FIG. 1 is disposed in the exhaust passage.
  • each of the divided regions [Xn, Ym] (n 1, 2,...) Formed within the preset ranges Rx, Ry ⁇ of the values of a plurality of types of operating parameters relating to the internal combustion engine.
  • Teacher data is obtained in advance by actual measurement for a plurality of types of operating parameter values related to the internal combustion engine in Rx and Ry, and a hidden layer is obtained from the values of the plurality of types of operating parameters related to the internal combustion engine and the teacher data.
  • the structure of the neural network for each segmented area [Xn, Ym] including the number of nodes Knm is determined, and the output value y and the values 2 of a plurality of types of operating parameters relating to the internal combustion engine are determined.
  • teacher data obtained in advance by actual measurement with respect to a plurality of types of operation parameter values related to the internal combustion engine in the preset ranges Rx and RyR is stored in the storage unit of the electronic control unit 30.
  • a neural network having the same structure as the neural network used in the prior learning is used, and the weight of the neural network when learning is completed is used to drive the vehicle. Further learning is done on-board.
  • FIG. 16 shows a learning processing routine of the third embodiment performed on board, and this learning processing routine is executed by interruption every predetermined time, for example, every second.
  • step 301 the learned weights stored in the storage unit of the electronic control unit 30 and the teacher data used in the prior learning, that is, preset, are set in advance.
  • This learned weight is used as an initial value of the weight.
  • step 302 the number Knm of nodes in the hidden layer immediately before the output layer used in the previous learning is read for each learned segmented area [Xn, Ym].
  • step 303 new input values x1, x2, that is, values of a plurality of types of operation parameters relating to the new internal combustion engine are acquired, and these new input values x1, x2, ie, a new internal combustion engine.
  • a plurality of types of operation parameter values related to the electronic control unit 30 are stored in the storage unit.
  • the actual measured value of the HC emission amount for the new input values x1, x2 is stored in the storage unit of the electronic control unit 30 as teacher data. That is, in step 303, teacher data obtained by actual measurement for a plurality of types of operation parameter values regarding the newly acquired internal combustion engine is stored in the storage unit of the electronic control unit 30.
  • step 304 it is determined whether or not the new input values x1 and x2 are within the learned segmented area [Xn, Ym], that is, the newly acquired values of the plurality of types of operating parameters relating to the internal combustion engine. Is within a preset range Rx, Ry.
  • the new input values x1, x2 are in the learned segmented area [Xn, Ym], that is, a range Rx in which values of a plurality of types of operation parameters relating to the newly acquired internal combustion engine are set in advance.
  • the routine proceeds to step 305, where the input values x1, x2, that is, the newly obtained values ⁇ ⁇ ⁇ ⁇ ⁇ of the plurality of types of operation parameters relating to the internal combustion engine, are obtained.
  • An input value y that is input to each node of the input layer of the neural network in the learned segmented area [Xn, Ym] to which the parameter value belongs and output from a node of the output layer of the neural network, and the newly acquired internal combustion engine
  • the teacher data obtained by actual measurement with respect to the values of a plurality of types of operation parameters relating to the output value y using the error back propagation method
  • the weights of the neural network learned divided region [Xn, Ym] Field of the values of the operating parameters of the plurality of types regarding newly acquired internal combustion engine is further learned.
  • step 304 when it is determined in step 304 that the new input values x1, x2 are not in the learned segmented area [Xn, Ym], for example, in FIG. 17, the input values x1, x2 belong and the input values x1,
  • the unlearned region [Xa, Yb] defined by the combination of the preset ranges of x2 is set outside the learned segmented region [Xn, Ym]. That is, in other words, when the value of the operation parameter of at least one of the plurality of types of operation parameters regarding the newly acquired internal combustion engine is out of the preset ranges Rx and Ry, various types of operation are performed.
  • Unlearned regions [Xa, Yb] defined by combinations of preset ranges of parameter values to which parameter values belong are set outside preset ranges Rx and Ry.
  • the value of one type of operating parameter relating to the newly acquired internal combustion engine is outside the preset range Rx, and the other type of operating parameter relating to the newly acquired internal combustion engine is shown.
  • the unlearned region [Xa, Yb] is set as the value of one type of operation parameter.
  • the preset range Rx and within the segmented range Y2 to which the value of the other type of operation parameter belongs adjacent to the learned segmented region [Xn, Ym] in the segmented range Y2. Is set.
  • step 306 the teacher data density D in the unlearned area [Xa, Yb] to which the new input values x1 and x2 belong is calculated.
  • step 306 whether or not the teacher data density D has become higher than the predetermined data density D 0 and the distribution S 2 of the teacher data in the new area [Xa, Yb] to which the new input values x 1 and x 2 belong is determined.
  • the processing cycle is ended when the variance S 2 of the training data is less than the variance S 2 0 determined in advance.
  • step 306 when it is determined in step 306 that the teacher data density D is higher than the predetermined data density D 0 and the teacher data distribution S 2 is larger than the predetermined distribution S 2 0 , the process proceeds to step 307. move on.
  • the dispersion S 2 is omitted greater whether discrimination than variance S 2 0 a predetermined, teacher data density D is higher than the data density D 0 of the predetermined It is also possible to determine only whether or not. In this case, when the teacher data density D is lower than the predetermined data density D 0 , the processing cycle is completed, and it is determined that the teacher data density D is higher than the predetermined data density D 0 . Sometimes go to step 307.
  • the unlearned region [Xa, Yb] is calculated from the average value of the number of nodes Knm in the learned segmented region [Xn, Ym] around the unlearned region [Xa, Yb].
  • N indicates the number of learned segmented areas [Xn, Ym] that exist adjacently around the unlearned area [Xa, Yb].
  • the segmented areas [Xn, Ym] that are not yet used that is, the segmented areas where the number of nodes Knm does not exist [ If there is Xn, Ym], the segmented area [Xn, Ym] is excluded from the calculation of the number N. For example, in the example shown in FIG.
  • the average value of the number of nodes Kn3 of Kn2 and the learned segmented area [Xn, Y3] is set as the number of nodes Kab for the unlearned area [Xa, Yb].
  • the number Knm of the hidden layer nodes of the neural network in the learned segmented area [Xn, Ym] is the value of the teacher data for the change of the input value in each learned segmented area [Xn, Ym].
  • a method for obtaining the number of nodes Kab for the unlearned region [Xa, Yb] in consideration of the number of teacher data in the unlearned region [Xa, Yb] will be briefly described. To do. That is, when the number of teacher data in the unlearned region [Xa, Yb] is larger than the number of teacher data in the adjacent learned segmented region [Xn, Ym] around the unlearned region [Xa, Yb]
  • the number of nodes Kab for the region [Xa, Yb] is preferably larger than the number of nodes Knm in the adjacent learned segmented region [Xn, Ym] around the unlearned region [Xa, Yb].
  • the average value MD of the number of teacher data in the adjacent learned region [Xn, Ym] around the unlearned region [Xa, Yb] is obtained, and the number of input data in the unlearned region [Xa, Yb]
  • the node number increase rate RK is multiplied to obtain the node number Kab for the final unlearned region [Xa, Yb].
  • step 307 When the number of nodes Kab for the unlearned region [Xa, Yb] is calculated in step 307, the process proceeds to step 308 to create a new neural network for the unlearned region [Xa, Yb].
  • the number of nodes is two for the input layer, Kab for the hidden layer immediately before the output layer, and one or more for the output layer.
  • step 305 the weight of the neural network created for the unlearned region [Xa, Yb] is learned so that the difference between the output value y and the teacher data becomes small for the unlearned region [Xa, Yb]. .
  • the operating range of the opening degree of the throttle valve 12 is 5.5 ° to 11.5 ° (the opening degree of the throttle valve 12 at the maximum closing position is 0 °).
  • the engine speed range is set between 1600 (rpm) and 3000 (rpm), and the ignition timing range is 0 ° (compression top dead center).
  • ATDC before compression top dead center is set to 40 °.
  • FIG. 18A shows the distribution of the teacher data with respect to the ignition timing and the engine speed
  • FIG. 18B shows the distribution of the teacher data with respect to the throttle valve opening and the ignition timing.
  • black circles indicate locations where teacher data has been acquired in advance
  • triangles indicate locations where teacher data has not been acquired in advance.
  • FIG. 18A and FIG. 18B show what throttle valve opening, what engine speed, and what ignition timing the teacher data is acquired in advance.
  • FIG. 18A when the engine speed N is 2000 (rpm) and the ignition timing is ATDC 20 °, teacher data is acquired in advance.
  • FIG. 18B when the ignition timing is ATDC 20 °, It can be seen that teacher data is acquired in advance for various throttle valve opening degrees.
  • the weight of the neural network is learned so that the difference from the teacher data indicating the X discharge amount becomes small.
  • the relationship between the output value y after learning and the teacher data is shown in FIGS. 18C, 19A and 19B.
  • the output value y and the teacher data after learning are shown.
  • the values of are normalized so that the maximum value is 1.
  • the operating range of the opening degree of the throttle valve 12 is set between 5.5 ° and 11.5 °, and the engine speed
  • the use range of N is set between 1600 (rpm) and 3000 (rpm)
  • the use range of the ignition timing is set between 0 ° (compression top dead center) and ATDC 40 °.
  • FIG. 18C the NO X emission amount when the throttle valve opening, the engine speed N, and the ignition timing are used within these usage ranges is acquired in advance as teacher data, and the output value y and the The relationship between the learned output value y and the teacher data when the weight of the neural network is learned is shown by circles so that the difference from the acquired teacher data becomes smaller.
  • the circles indicating the relationship between the learned output value y and the teacher data are gathered on a straight line, so that the learned output value y matches the teacher data.
  • the triangle mark shown in FIGS. 18A and 18B indicates the location of the teacher data newly acquired when the opening degree of the throttle valve 12 exceeds 13.5 ° beyond the preset use range. Is shown.
  • the triangular mark in FIG. 18C does not use newly acquired teacher data when the opening degree of the throttle valve 12 becomes 13.5 ° exceeding the preset use range.
  • the case where the learning of the weight of the neural network is performed using only the teacher data acquired in advance is shown.
  • the estimated value of the NO X emissions when the opening degree of the throttle valve 12 has become a 13.5 ° beyond the use range set in advance deviates from the measured value by a large margin I understand that.
  • circles in FIG. 19A indicate new teacher data acquired when the opening degree of the throttle valve 12 becomes 13.5 ° beyond the preset use range in this way
  • FIG. 5 shows a case where the neural network weight learning is performed using both the teacher data and the acquired teacher data. In this case, the estimated value of the NO X emissions, it can be seen that deviate from the overall measured value.
  • the circle in FIG. 19B is a new one acquired when the opening degree of the throttle valve 12 exceeds the preset use range and becomes 13.5 °, as in FIG. 19A.
  • the case of learning the weight of the neural network is shown.
  • the estimated value of the NO X emissions it can be seen that the match accurately the measured values.
  • the newly acquired engine operating parameter value is outside the preset range, the number of nodes in the hidden layer immediately before the output layer of the neural network is increased to estimate. Accuracy can be increased.
  • the optimum air volume, direction, and operation time of the air conditioner are automatically set based on the temperature, humidity, position, and size of the room in which the air conditioner is installed.
  • the range of conditions and places where the air conditioner is used i.e., the operating range of operating parameters such as temperature, humidity, position, and the size of the room where the air conditioner is installed depends on the type of air conditioner. Therefore, normally, the difference between the output value of the neural network and the optimum air volume, wind direction and operation time of the air conditioner is reduced with respect to the preset range of the operation parameter value of the air conditioner.
  • the weight of the neural network is learned in advance.
  • the value of the operating parameter of the air conditioner may be outside the preset range, and in this case, learning based on the actual value is performed outside the preset range. Therefore, the output value calculated using the neural network will be a value greatly deviating from the actual value. Therefore, in this embodiment as well, the newly acquired operation parameter regarding the air conditioner is also obtained.
  • the value is outside the preset range, the number of nodes in the hidden layer immediately before the output layer of the neural network is increased, or the number of neural networks is increased and newly acquired.
  • Teacher data obtained for operating parameter values related to air conditioners and air conditioners within a preset range Weights of the neural network is trained using training data that is obtained for the value of the rolling parameters.
  • 50 is an air conditioner body
  • 51 is a blower motor disposed in the air conditioner body 50
  • 52 is a wind direction adjusting motor disposed in the air conditioner body 50
  • 53 is a thermometer for detecting air temperature
  • 54 is a hygrometer for detecting atmospheric humidity
  • 55 is a GPS for detecting the position where the air conditioner is installed
  • 56 is an electronic control unit having the same configuration as the electronic control unit 30 shown in FIG. Respectively.
  • the temperature detected by the thermometer 53, the atmospheric humidity detected by the hygrometer 54, and the position information detected by the GPS 55 are input to the electronic control unit 56.
  • the size of the room in which the air conditioner is installed is manually input to the electronic control unit 56, for example.
  • FIG. 21 shows a neural network used in the fourth embodiment.
  • FIG. 22A between A 1 and B 1 , that is, R 1 indicates a preset temperature range (for example, ⁇ 5 ° C. to 40 ° C.), and A 2 and B 2 R 2 indicates a preset range of humidity (eg, 30% -90%), and between A 3 and B 3 , ie, R 3 is a position (eg, 20 degrees north latitude).
  • range R 4 is set in advance the size of the room attached air conditioned Is shown.
  • FIG. 22B also shows a preset temperature range between A 1 and B 1 and a preset humidity between A 2 and B 2 , as in FIG. 22A. The range is shown, between A 3 and B 3 is a preset range of position, and between A 4 and B 4 is the preset size of the room where the air conditioner is installed The range that is being shown.
  • the optimum air volume, direction, and operation time of the air conditioner actually measured for various input values x n (n 1, 2, 3, 4) within a preset range Rn.
  • teacher data is obtained in advance by actual measurement for a plurality of types of operating parameter values related to the air conditioner within the preset range Rn.
  • the structure of the neural network is determined from a plurality of types of operation parameter values and teacher data, and each output value y 1 , y 2 , y 3 and the teacher data corresponding to the plurality of types of operation parameter values related to the air conditioner.
  • the neural network weights are learned in advance so as to reduce the difference.
  • Teacher data obtained in advance by actual measurement for the values of a plurality of types of operation parameters related to the air conditioner in the preset range Rn is stored in the storage unit of the electronic control unit 56.
  • FIG. 23 shows a learning process routine of the fourth embodiment performed on-board. This learning process routine is executed by interruption every predetermined time, for example, every second. The processing performed in each step of the learning processing routine shown in FIG. 23 is shown in FIG. 12, except that the type of input value and the number of input values, and the type of output value and the number of output values are different. This is the same as the process performed in each step of the learning process routine.
  • step 401 the learned weight stored in the storage unit of the electronic control unit 56 and the teacher data used in the prior learning, that is, the preset data are set in advance.
  • the teacher data obtained in advance by actual measurement for the values of a plurality of types of operating parameters relating to the air conditioner within the range Rn and the range of the input data, that is, the values of the plurality of types of operating parameters relating to the air conditioner Values
  • This learned weight is used as an initial value of the weight.
  • step 402 the number K of nodes in the hidden layer immediately before the output layer of the neural network used in the previous learning is read.
  • a new input value x that is, a value of a plurality of types of operation parameters relating to the new air conditioner
  • this new input value x that is, a plurality of types of operation relating to the new air conditioner.
  • the parameter value is stored in the storage unit of the electronic control unit 56.
  • the actual measured values of the air volume, wind direction, and operation time of the air conditioner for the new input value x are stored in the storage unit of the electronic control unit 56 as teacher data. That is, in step 403, teacher data obtained by actual measurement with respect to a plurality of types of operation parameter values relating to the newly acquired air conditioner is stored in the storage unit of the electronic control unit 56.
  • step 404 the new input value x n , that is, the values of a plurality of types of operation parameters relating to the newly acquired air conditioner are within a preset range Rn (between An and Bn). Whether the new input value xn is greater than or equal to An and less than or equal to Bn.
  • the routine proceeds to step 405, where each input value x n , that is, the values of a plurality of types of operation parameters relating to the newly acquired air conditioner are found.
  • the output values y 1 , y 2 , y 3 input to the corresponding nodes in the input layer of the neural network and output from the nodes in the output layer of the neural network, and a plurality of types of operation parameters relating to the newly acquired air conditioner
  • the weight of the neural network is learned using the error back propagation method so that the difference between the output values y 1 , y 2 , y 3 and the teacher data becomes small.
  • a new input value x n that is, a value of at least one type of operation parameter among a plurality of types of operation parameter values relating to the newly acquired air conditioner is set in advance.
  • the input value x 1 indicating the air temperature in FIG. 22B is set in advance from B 1 to C 1 (B 1 ⁇ C 1 ). If there range (B 1 ⁇ C 1) as in the, or a range where the input value x 3 showing the position in FIG. 22B, the previously set from C 3 to a 3 (C 3 ⁇ a 3 ) ( If it is within C 3 -A 3 ), go to step 406.
  • the number / (C n ⁇ B n ) or the number of teacher data / (A n ⁇ C n )) is calculated.
  • the definition of the teacher data density D is as described above.
  • the teacher data density D is calculated, whether the teacher data density D is higher than the data density D 0 of the predetermined are determined. If the teacher data density D is lower than the data density D 0 predetermined to complete the processing cycle.
  • step 406 when it is determined in step 406 that the teacher data density D has become higher than the predetermined data density D 0 , the process proceeds to step 407.
  • K indicates the number of nodes, and round means rounding.
  • step 407 When the number of additional nodes ⁇ is calculated in step 407, the process proceeds to step 408, where the number K of nodes in the hidden layer immediately preceding the output layer of the neural network is updated, and the number of hidden layers immediately preceding the output layer is updated.
  • the number of nodes K is increased by the number of additional nodes ⁇ (K ⁇ K + ⁇ ).
  • the output of the neural network When the data density obtained by dividing the number of teacher data by the difference value between the maximum value and the minimum value indicating the preset range of the operation parameter value increases, the output of the neural network The number of nodes in the hidden layer immediately before the layer is increased.
  • the output of the neural network is increased in accordance with the increase in data density obtained by dividing the number of teacher data by the difference between the maximum value and the minimum value indicating the preset range of the driving parameter value.
  • the number of nodes in the hidden layer immediately before the layer is increased.
  • step 408 when the number K of nodes in the hidden layer immediately before the output layer is increased by the number of additional nodes ⁇ (K ⁇ K + ⁇ ), the process proceeds to step 409 and the node in the hidden layer immediately before the output layer The neural network is updated to increase the number K of.
  • step 405 the teacher data newly obtained for the new input value x is also included in the teacher data, and updated so that the difference between the output values y 1 , y 2 , y 3 and the teacher data becomes small. Neural network weights are learned.
  • step 405 the teacher data obtained by actual measurement with respect to the newly acquired values of the plurality of types of operation parameters regarding the air conditioner, and the plurality of types of operation parameters regarding the air conditioner within the preset range Rn.
  • the weights of the updated neural network are learned so that the difference between the values y 1 , y 2 , y 3 and the teacher data corresponding to the values of a plurality of types of operation parameters related to the air conditioner becomes small.
  • a preset range of various operating parameter values related to the air conditioner is divided into a plurality of ranges. That is, Rw, Rx, Ry, and Rz in FIG. 24 indicate the preset ranges of the temperature, humidity, position, and the size of the room in which the air conditioner is installed, as shown in FIG.
  • a predetermined range is divided into a plurality of ranges for the temperature, humidity, position, and size of the room in which the air conditioner is installed.
  • W 1, W 2 ⁇ W n, X 1, X 2 ⁇ X n, Y 1, Y 2 ⁇ Y n, Z 1, Z 2 ⁇ Z n is , Each shows the range of values of the various operating parameters.
  • the number of nodes Ki, j, k, l, in the hidden layer is set in advance according to the complexity of the change in the teacher data with respect to the change in the input value in each segmented area [Wi, Xj, Yk, Zl]. Has been.
  • the structure of the neural network for each segmented area [Wi, Xj, Yk, Zl] including the number of hidden layer nodes Ki, j, k, l is determined, As the difference between the force value y 1, y 2, y 3 and the corresponding teacher data is reduced, each divided region [Wi, Xj, Yk, Zl] weights of the neural network are learned in advance.
  • the pre-learned segmented area [Wi, Xj, Yk, Zl] may be hereinafter referred to as a learned segmented area [Wi, Xj, Yk, Zl].
  • the teacher data obtained in advance by actual measurement for the values of a plurality of types of operation parameters related to the air conditioner within the preset ranges Rw, Rx, Ry, Rz is stored in the storage unit of the electronic control unit 56.
  • the teacher data obtained in advance by actual measurement for the values of a plurality of types of operation parameters related to the air conditioner within the preset ranges Rw, Rx, Ry, Rz is stored in the storage unit of the electronic control unit 56.
  • FIG. 25 shows a learning processing routine of a modified example performed on board, and this learning processing routine is executed by interruption every predetermined time, for example, every second.
  • step 500 the learned weight stored in the storage unit of the electronic control unit 56 and the teacher data used in the prior learning, that is, preset.
  • Teacher data obtained in advance by actual measurement with respect to the values of a plurality of types of operation parameters related to the air conditioner in the ranges Rw, Rx, Ry, Rz and each learned segmented area [Wi, Xj, Yk, Zl] Is read.
  • This learned weight is used as an initial value of the weight.
  • step 501 for each learned segmented area [Wi, Xj, Yk, Zl], the number Ki, j, k, l of the nodes in the hidden layer immediately before the output layer used in the prior learning. Is read.
  • step 502 new input values x1, x2, x3, x4, that is, the temperature, humidity, position, and size of the room in which the air conditioner is installed, are obtained, and these new input values x1, x2 are acquired.
  • X3, x4, that is, values of a plurality of types of operation parameters relating to the new air conditioner are stored in the storage unit of the electronic control unit 56.
  • the air volume, wind direction and operation time of the air conditioner for the new input values x1, x2, x3 and x4 are stored in the storage unit of the electronic control unit 56 as teacher data. That is, in step 502, teacher data obtained by actual measurement for a plurality of types of operation parameter values relating to the newly acquired air conditioner is stored in the storage unit of the electronic control unit 56.
  • step 503 whether or not the new input values x1, x2, x3, x4 are within the learned segmented area [Wi, Xj, Yk, Zl], that is, a plurality of newly acquired air conditioners. It is determined whether or not the value of the operation parameter of the type is within the preset ranges Rw, Rx, Ry, Rz.
  • new input values x1, x2, x3, x4 are in the learned segmented areas Rw, Rx, Ry, Rz, that is, the newly acquired values of a plurality of types of operation parameters relating to the air conditioner are preset.
  • the process proceeds to step 504, and the new input values x1, x2, x3, x4, that is, the values of a plurality of types of operation parameters relating to the newly acquired air conditioner are Are input to each node of the input layer of the learned neural network [Wi, Xj, Yk, Zl] to which a plurality of types of operation parameter values relating to the newly acquired air conditioner belong, an output value y 1, y 2, y 3 output from the node pair to the value of the operating parameters of the plurality of types regarding newly acquired air conditioning Based on the teacher data obtained by actual measurement, by using a backpropagation method, so that the difference between the output value y 1, y 2, y 3 and the teacher data becomes smaller, more about the newly acquired engine
  • the weight of the neural network in the learned segmented area [Wi, Xj, Yk, Zl] to which the value of the operation parameter of the type belongs is further learned.
  • step 503 when it is determined in step 503 that the new input values x1, x2, x3, x4 are not in the learned segmented area [Wi, Xj, Yk, Zl], the process proceeds to step 505, Outside the preset ranges Rw, Rx, Ry, Rz, unlearned areas defined by new input values x1, x2, x3, x4 are set. For example, it is determined that the new input values x2, x3, x4 are in the corresponding preset ranges Rx, Ry, Rz, and the new input value x1 is not in the corresponding preset range Rw.
  • an unlearned region [Wa, Xj, Yk, Zl] defined by the new input values x1, x2, x3, x4 is set. Further, it is determined that the new input values x3 and x4 are in the corresponding preset ranges Ry and Rz, and the new input values x1 and x2 are not in the corresponding preset ranges Rw and Rx. In some cases, if the range to which the new input value x1 belongs is Wa and the range to which the new input value x2 belongs is Xb, an unlearned area defined by the new input values x1, x2,. Yk, Zl] is set.
  • step 505 a new neural network for the unlearned region [Xa, Yb] is created.
  • step 505 the process proceeds to step 504.
  • step 504 the weight of the new neural network created for the unlearned area is learned so that the difference between the output values y 1 , y 2 , y 3 and the teacher data becomes small for the unlearned area.
  • the degree of deterioration of the secondary battery is detected from the temperature, the temperature of the secondary battery, the discharge time of the secondary battery, and the discharge energy per unit time of the secondary battery.
  • the secondary battery operating parameters and range of usage modes that is, the temperature of the secondary battery, the temperature of the secondary battery, the discharge time of the secondary battery, and the discharge energy per unit time of the secondary battery, etc.
  • the range of use of this value can be assumed in advance according to the type of the secondary battery. Therefore, normally, the output value of the neural network is set to the preset range of the operation parameter value of the secondary battery. The weight of the neural network is learned in advance so that the difference from the actually measured degree of deterioration of the secondary battery is reduced.
  • the value of the operation parameter of the secondary battery may be outside the preset range.
  • learning based on the actual value is performed outside the preset range. Since this is not performed, the output value calculated using the neural network becomes a value greatly deviating from the actual value. Therefore, also in this embodiment, a newly obtained secondary battery is obtained.
  • the value of the operating parameter is outside the preset range, increase the number of nodes in the hidden layer immediately before the output layer of the neural network, or increase the number of neural networks and
  • Weights of the neural network is trained using training data that is obtained for the value of the rolling parameters.
  • 60 is a secondary battery
  • 61 is an electric motor
  • 62 is a drive control device for the electric motor 61
  • 63 is a voltmeter for detecting the voltage across the output terminals of the secondary battery 60
  • 64 is 2
  • An ammeter for detecting the current supplied from the secondary battery 60 to the electric motor 61 via the drive control device 62
  • 65 a thermometer for detecting the temperature
  • 66 for detecting the temperature of the secondary battery 60
  • the temperature sensor 67 is an electronic control unit having the same configuration as the electronic control unit 30 shown in FIG. As shown in FIG.
  • the supply current to the electric motor 61 detected by the ammeter 53, the voltage between the output terminals of the secondary battery 60 detected by the voltmeter 64, the temperature and temperature detected by the thermometer 65 The temperature of the secondary battery 60 detected by the sensor 66 is input to the electronic control unit 56, and an estimated value of the degree of deterioration of the secondary battery 60 is calculated in the electronic control unit 56.
  • the discharge time of the secondary battery 60 is obtained based on the detected value of the ammeter 64, and the secondary battery 60 of the secondary battery 60 is determined based on the detected value of the ammeter 64 and the detected value of the voltmeter 63. Discharge energy (current / voltage) per unit time is required.
  • FIG. 27 shows a neural network used in the fifth embodiment.
  • the input value x 2 indicating the temperature, the discharge time x 3 of the secondary battery 60, and the input value x 4 indicating the discharge energy per unit time of the secondary battery 60 are input.
  • there is one node in the output layer (L 4), and an output value y indicating the degree of deterioration of the secondary battery 20 is output from this node.
  • R 1 indicates a preset temperature range (for example, ⁇ 5 ° C. to 40 ° C.)
  • a 2 and B 2 indicates a preset range (for example, ⁇ 40 ° C. to 40 ° C.) of the temperature of the secondary battery 60
  • R 3 is 2
  • FIG. 28B also shows a preset temperature range between A 1 and B 1, and the temperature of the secondary battery 60 between A 2 and B 2 is similar to FIG. 28A.
  • the range set in advance is shown, the range between A 3 and B 3 is the preset range of the discharge time of the secondary battery 60, and the range between A 4 and B 4 is the secondary The preset range of the discharge energy per unit time of the battery 60 is shown.
  • the relationship between the temperature, the temperature of the secondary battery 60, the discharge time of the secondary battery 60, the discharge energy per unit time of the secondary battery 60, and the degree of deterioration of the secondary battery 60 will be briefly described.
  • the degree of deterioration of the secondary battery 60 can be estimated from the change in the internal resistance.
  • the discharge current is constant, the heat generation amount of the secondary battery 60 increases as the internal resistance increases. Therefore, the temperature of the secondary battery 60 increases as the internal resistance increases, that is, as the secondary battery 60 deteriorates. Becomes higher.
  • the degree of deterioration of the secondary battery 60 can be estimated based on the temperature rise amount of the secondary battery 60.
  • the temperature rise amount of the secondary battery 60 is affected by the air temperature, and depends on the discharge time of the secondary battery 60 and the discharge energy per unit time of the secondary battery 60. Therefore, the deterioration degree of the secondary battery 60 is obtained from the temperature, the temperature of the secondary battery 60, the discharge time of the secondary battery 60, and the discharge energy per unit time of the secondary battery 60.
  • the degree of deterioration of the secondary battery 60 can be estimated from the temperature of the secondary battery 60, the discharge time of the secondary battery 60, and the discharge energy per unit time of the secondary battery 60.
  • the degree of deterioration of the secondary battery 60 can be detected from the detected voltage of the voltmeter 64 immediately after the charging of the secondary battery 60 is completed. Therefore, in the fifth embodiment, the degree of deterioration of the secondary battery 60 detected from the detected voltage of the voltmeter 64 immediately after the charging of the secondary battery 60 is completed is used as the teacher data of the output value y. .
  • step 600 the discharge time of the secondary battery 60 is calculated from the output value of the ammeter 64.
  • step 601 the discharge energy per unit time of the secondary battery 60 is calculated from the output value of the ammeter 64 and the output value of the voltmeter 63.
  • step 610 it is determined whether or not the charging process for the secondary battery 60 is being performed. When the charging process for the secondary battery 60 is not performed, the processing cycle is completed. On the other hand, when the charging process for the secondary battery 60 is being performed, the routine proceeds to step 611 where it is determined whether or not the charging to the secondary battery 60 has been completed. When it is determined that charging of the secondary battery 60 is completed, the routine proceeds to step 612, where it is determined whether or not a teacher data request flag that is set when requesting teacher data is set. The teacher data request flag will be described later. When the teacher data request flag is not set, the processing cycle is completed.
  • the routine proceeds to step 613 where the degree of deterioration of the secondary battery 60 is detected from the detected voltage of the voltmeter 64.
  • the routine proceeds to step 614, where the additional learning flag is set.
  • Teacher data is obtained in advance by actual measurement with respect to the values of the operation parameters of the types, and the structure of the neural network is determined from the values of the plurality of types of operation parameters and the teacher data regarding the secondary battery 60, and the output value
  • the weight of the neural network is learned in advance so that the difference between y and the teacher data corresponding to the values of a plurality of types of operation parameters related to the secondary battery 60 is reduced. It is.
  • Teacher data obtained in advance by actual measurement for the values of a plurality of types of operation parameters related to the secondary battery 60 within the preset range Rn is stored in the storage unit of the electronic control unit 67.
  • FIG. 31 shows a learning processing routine of the fifth embodiment which is performed on board. This learning processing routine is executed by interruption every predetermined time, for example, every second.
  • step 700 the learned weight stored in the storage unit of the electronic control unit 67 and the teacher data used in the prior learning, that is, the preset data are set in advance.
  • the teacher data obtained in advance by actual measurement with respect to the values of a plurality of types of operation parameters related to the secondary battery 60 in the range Rn and the range of input data, that is, the types of a plurality of types related to the secondary battery 60 Values
  • This learned weight is used as an initial value of the weight.
  • step 701 the number K of nodes in the hidden layer immediately before the output layer of the neural network used in the previous learning is read.
  • step 702 it is determined whether or not an additional learning flag is set. When the additional learning flag is not set, the process proceeds to step 703.
  • step 703 new input values x, that is, values of a plurality of types of operation parameters relating to the new secondary battery 60 are acquired, and the new input values x, ie, a plurality of types relating to the new secondary battery 60.
  • the operating parameter values are stored in the storage unit of the electronic control unit 67.
  • step 704 the new input value x n , that is, the values of a plurality of types of operation parameters relating to the newly obtained secondary battery 60 are set in a preset range Rn (between An and Bn). Or not, that is, whether or not the new input value xn is greater than or equal to An and less than or equal to Bn.
  • each input value x n that is, a plurality of types of operation parameters relating to the newly acquired secondary battery 60 is obtained.
  • the weight of the neural network is learned using the error back propagation method so that the difference between the output value y and the teacher data becomes small.
  • a new input value x n that is, a value of at least one type of operation parameter among a plurality of types of operation parameter values regarding the newly acquired secondary battery 60 is preset. and when the range Rn is determined not within (between an and Bn) are, for example, the input value x 1 showing the temperature in Fig. 28B, in advance from B 1 to C 1 (B 1 ⁇ C 1 ) When it is within the set range (B 1 to C 1 ), or in FIG. 28B, the input value x 3 indicating the discharge time of the secondary battery 60 is changed from C 3 to A 3 (C 3 ⁇ A 3 ). If it is within the preset range (C 3 to A 3 ), the process proceeds to step 706. In step 706, a teacher data request flag is set, and the new input value xn acquired at this time is stored as a new input value xn to be used for additional learning. The processing cycle is then completed.
  • step 706 the process proceeds from step 702 to step 707 in the next processing cycle.
  • step 707 the new input value xn stored for use in additional learning and the teacher data stored for use in additional learning are read from the storage unit, and this new input value is read.
  • the density D of teacher data with respect to a new input value x n within the range (B n to C n ) or the range (C n to A n ) to which x n belongs, ( number of teacher data / (C n ⁇ B n )), or The number of teacher data / (A n ⁇ C n )) is calculated.
  • the definition of the teacher data density D is as described above.
  • the teacher data density D is calculated, whether the teacher data density D is higher than the data density D 0 of the predetermined are determined. If the teacher data density D is lower than the data density D 0 predetermined to complete the processing cycle.
  • step 707 when it is determined in step 707 that the teacher data density D is higher than the predetermined data density D 0 , the process proceeds to step 708.
  • K indicates the number of nodes, and round means rounding.
  • step 708 the process proceeds to step 709, where the number K of nodes in the hidden layer immediately before the output layer of the neural network is updated, and the number of hidden layers in the immediately preceding output layer is updated.
  • the number of nodes K is increased by the number of additional nodes ⁇ (K ⁇ K + ⁇ ).
  • the output of the neural network is increased.
  • the number of nodes in the hidden layer immediately before the layer is increased.
  • the output of the neural network is increased in accordance with the increase in data density obtained by dividing the number of teacher data by the difference between the maximum value and the minimum value indicating the preset range of the driving parameter value.
  • the number of nodes in the hidden layer immediately before the layer is increased.
  • step 709 when the number K of nodes in the hidden layer immediately before the output layer is increased by the number of additional nodes ⁇ (K ⁇ K + ⁇ ), the process proceeds to step 710 and the node in the hidden layer immediately before the output layer is reached.
  • the neural network is updated to increase the number K of.
  • step 705 the teacher data newly obtained for the new input value x is also included in the teacher data, and the weight of the updated neural network is learned so that the difference between the output value y and the teacher data becomes small. Is done.
  • step 705 the teacher data obtained by actual measurement with respect to the values of a plurality of types of operation parameters relating to the newly obtained secondary battery 60, and the plurality relating to the secondary battery 60 within the preset range Rn.
  • the weight of the updated neural network is learned so that the difference between the output value y that changes in accordance with the parameter value and the teacher data corresponding to the values of a plurality of types of operation parameters related to the secondary battery 60 is reduced. Is done.
  • a preset range of various operation parameter values related to the secondary battery 60 is divided into a plurality of ranges. That is, Rw, Rx, Ry, and Rz in FIG. 32 are preset ranges of the temperature, the temperature of the secondary battery 60, the discharge time of the secondary battery 60, and the discharge energy per unit time of the secondary battery 60, respectively. 24, there are a plurality of preset ranges of the temperature, the temperature of the secondary battery 60, the discharge time of the secondary battery 60, and the discharge energy per unit time of the secondary battery 60, as shown in FIG. It is divided into pieces.
  • W 1, W 2 ⁇ W n, X 1, X 2 ⁇ X n, Y 1, Y 2 ⁇ Y n, Z 1, Z 2 ⁇ Z n is , Each shows the range of values of the various operating parameters.
  • an independent neural network is created.
  • These neural networks have the structure shown in FIG.
  • the number of nodes Ki, j, k, l, in the hidden layer is set in advance according to the complexity of the change in the teacher data with respect to the change in the input value in each segmented area [Wi, Xj, Yk, Zl]. Has been.
  • each segmented area [Wi, Xj, Yk, Zl] formed within a preset range Rw, Rx, Ry, Rz of a plurality of types of operation parameter values related to the secondary battery 60 are measured with respect to various input values x1, x2, x3, and x4, that is, the temperature, the temperature of the secondary battery 60, the discharge time of the secondary battery 60, and the discharge energy per unit time of the secondary battery 60.
  • the degree of deterioration of the secondary battery 60 is obtained in advance as teacher data, that is, for a plurality of types of operation parameter values related to the secondary battery 60 within the preset ranges Rw, Rx, Ry, Rz.
  • Teacher data is obtained in advance by actual measurement, and each classification including the number Ki, j, k, l of the hidden layer nodes is obtained from the values of plural types of operation parameters and the teacher data regarding the secondary battery 60.
  • Region [Wi, Xj, Yk, Zl] structure of the neural network for is determined as the difference between the output value y 1, y 2, y 3 and the corresponding teacher data is reduced, each divided region [Wi, Xj , Yk, Zl] is learned in advance.
  • the pre-learned segmented area [Wi, Xj, Yk, Zl] may be hereinafter referred to as a learned segmented area [Wi, Xj, Yk, Zl].
  • the teacher data obtained in advance by actual measurement for the values of a plurality of types of operation parameters related to the secondary battery 60 within the preset ranges Rw, Rx, Ry, Rz is the electronic control unit 56. Stored in the storage unit.
  • FIG. 33 shows a modified learning process routine performed on-board. This learning process routine is executed by interruption every predetermined time, for example, every second.
  • step 800 the learned weight stored in the storage unit of the electronic control unit 56 and the teacher data used in the prior learning, that is, the preset data are set in advance.
  • Teacher data obtained in advance by actual measurement with respect to the values of a plurality of types of operation parameters related to the secondary battery 60 in the range Rw, Rx, Ry, Rz, and each learned segmented area [Wi, Xj, Yk, Zl] is read.
  • This learned weight is used as an initial value of the weight.
  • step 801 the number Ki, j, k, l of the nodes in the hidden layer immediately before the output layer used in the prior learning for each learned segmented area [Wi, Xj, Yk, Zl]. Is read.
  • step 802 it is determined whether or not an additional learning flag is set. When the additional learning flag is not set, the process proceeds to step 803.
  • step 803 new input values x1, x2, x3, x4, that is, the temperature, the temperature of the secondary battery 60, the discharge time of the secondary battery 60, and the discharge energy per unit time of the secondary battery 60 are acquired.
  • the new input values x1, x2, x3, x4, that is, the values of a plurality of types of operation parameters related to the new secondary battery 60 are stored in the storage unit of the electronic control unit 56.
  • step 804 whether or not the new input values x1, x2, x3, x4 are within the learned segmented area [Wi, Xj, Yk, Zl], that is, the newly obtained secondary battery.
  • the parameter value is input to each node in the input layer of the learned network classification area [Wi, Xj, Yk, Zl] to which a plurality of types of operation parameter values related to the newly obtained secondary battery 60 belong.
  • the output value y outputted from the node of the output layer of the neural network and the values of a plurality of types of operation parameters concerning the newly obtained secondary battery 60 are measured.
  • the error back propagation method is used to reduce the difference between the output value y and the teacher data.
  • the weight of the neural network of the learned segmented area [Wi, Xj, Yk, Zl] to which the value belongs is further learned.
  • step 804 if it is determined in step 804 that the new input values x1, x2, x3, x4 are not within the learned segmented area [Wi, Xj, Yk, Zl], the process proceeds to step 806.
  • step 806 a teacher data request flag is set, and the new input value xn acquired at this time is stored as a new input value xn to be used for additional learning. The processing cycle is then completed.
  • step 806 the process proceeds from step 802 to step 807 in the next processing cycle.
  • step 807 a new input value xn stored for use in additional learning and teacher data stored for use in additional learning are read from the storage unit and set in a preset range.
  • an unlearned region defined by new input values x1, x2, x3, and x4 stored for use in additional learning is set. For example, it is determined that the new input values x2, x3, and x4 are in the corresponding preset ranges Rx, Ry, and Rz, and the new input value x1 is not in the corresponding preset range Rw. If the range to which the new input value x1 belongs is assumed to be Wa, an unlearned area [Wa, Xj, Yk, Zl] defined by the new input values x1, x2, x3, x4 is set.
  • the new input values x3 and x4 are in the corresponding preset ranges Ry and Rz, and the new input values x1 and x2 are not in the corresponding preset ranges Rw and Rx.
  • the range to which the new input value x1 belongs is Wa
  • the range to which the new input value x2 belongs is Xb
  • an unlearned region defined by the new input values x1, x2, x3, x4 [Wa, Xb, Yk, Zl] is set.
  • step 807 a new neural network is created for the unlearned area.
  • the process proceeds to step 805.
  • step 805 for the unlearned area, the weight of the new neural network created for the unlearned area so that the difference between the output value y and the teacher data stored for use in additional learning is reduced. Is learned.
  • the range of the value of the specific type of operation parameter related to this machine is In addition to being set in advance, the number of nodes in the hidden layer of the neural network is set in advance according to the range of values of specific types of operating parameters relating to this machine.
  • the machine learning device includes an electronic control unit.
  • the electronic control unit includes a parameter value acquisition unit that acquires a value of a specific type of operation parameter related to the machine, a calculation unit that performs calculation using a neural network including an input layer, a hidden layer, and an output layer, and a storage And a value of a specific type of operation parameter related to the machine described above is input to the input layer, and an output value that changes in accordance with the value of the specific type of operation parameter related to the machine described above is output from the output layer. Is output.
  • the range of the value of the operation parameter of the specific type related to the machine described above is set in advance, and the number of nodes in the hidden layer of the neural network corresponding to the value range of the operation parameter of the specific type related to the machine described above is set in advance.
  • Teacher data that has been set and obtained in advance by actual measurement with respect to the value of a specific type of operating parameter relating to the machine within a preset range is stored in the storage unit.
  • the value of a specific type of operation parameter regarding the above-mentioned machine newly acquired is within a preset range, the value of the operation parameter of the specific type regarding the above-mentioned machine newly acquired is measured.
  • the operation unit Using the obtained teacher data, the operation unit newly outputs an output value that changes according to the value of the specific type of operation parameter related to the machine and the specific type related to the machine that is newly acquired.
  • the weight of the neural network is learned so that the difference between the operation parameter value and the teacher data obtained by actual measurement becomes small.
  • the newly acquired specific parameter of the operation parameter related to the machine described above The increase in the number of teacher data obtained by actual measurement with respect to the value, or the data density obtained by dividing the number of teacher data by the difference between the maximum value and the minimum value indicating the preset range of the driving parameter value In response to the increase, the number of nodes in the hidden layer immediately before the output layer of the neural network is increased, and a newly obtained value of a specific type of operating parameter relating to the above machine is obtained by actual measurement.
  • the weight of the neural network is such that the difference between the output value that changes according to the value of the specific type of operating parameter for the machine and the teacher data corresponding to the value of the specific type of operating parameter for the machine is small.
  • An output value for a specific type of operating parameter value for the machine described above is output using a neural network with learned weights.
  • the electronic control unit has a parameter value acquisition unit that acquires the value of a specific type of operation parameter related to the above-described machine, and a neural network including an input layer, a hidden layer, and an output layer And a storage unit, a value of a specific type of operation parameter related to the machine described above is input to the input layer, and a value of a specific type of operation parameter related to the machine described above A plurality of output values that change according to the output value are output from the output layer.
  • the range of the value of the operation parameter of the specific type related to the machine described above is set in advance, and the number of nodes in the hidden layer of the neural network corresponding to the value range of the operation parameter of the specific type related to the machine described above is set in advance.
  • Teacher data that has been set and obtained in advance by actual measurement with respect to the value of a specific type of operating parameter relating to the machine within a preset range is stored in the storage unit.
  • the value of the operation parameter of the machine newly acquired by the parameter value acquisition unit is within a preset range, the value of the operation parameter of a specific type relating to the newly acquired machine is actually measured.
  • the calculation unit uses the teacher data obtained from the above, the calculation unit responds to a plurality of output values that change according to the value of the specific type of operation parameter related to the machine and the value of the specific type of operation parameter related to the machine described above.
  • the weight of the neural network is learned so as to reduce the difference from the teacher data.
  • the newly acquired specific parameter of the operation parameter related to the machine described above According to the increase in the number of teacher data obtained by actual measurement with respect to the value, or the increase in data density obtained by dividing the number of teacher data by the difference value between the maximum value and the minimum value indicating a preset range, Increase the number of nodes in the hidden layer immediately before the output layer of the neural network, and at the same time, a specific type of newly acquired machine within the preset range and outside the preset range.
  • the calculation unit relates to the above-described machine.
  • the weight of the neural network is learned so that the difference between a plurality of output values that change according to the value of a specific type of operating parameter and the teacher data corresponding to the value of the specific type of operating parameter related to the machine described above is reduced.
  • the A plurality of output values for a particular type of operating parameter value for the machine are output using the weighted neural network.
  • a range of values of a plurality of types of operation parameters related to the machine is preset.
  • the number of nodes in the hidden layer of the neural network corresponding to the range of the values of the plurality of types of operation parameters related to this machine is preset, and the plurality of types of operation parameters related to this machine newly acquired
  • the value of is out of the preset range
  • the number of nodes in the hidden layer immediately before the output layer of the neural network is increased, and newly obtained values of plural types of operation parameters relating to this machine are obtained.
  • Weights of the neural network is trained using training data obtained by actual measurement with respect to the rolling parameter values.
  • An output value corresponding to a plurality of types of operation parameter values related to the machine is output using the neural network in which the weight is learned.
  • the machine learning device includes an electronic control unit, and the electronic control unit acquires a value of a plurality of types of operation parameters related to the machine described above, Comprising a computing unit that performs computation using a neural network consisting of an input layer, a hidden layer, and an output layer, and a storage unit, the values of a plurality of types of operating parameters related to the machine described above are input to the input layer, Output values that change in accordance with the values of a plurality of types of operation parameters relating to the machine described above are output from the output layer.
  • a range of values of various types of operation parameters is preset, and a neural network corresponding to the range of values of the plurality of types of operation parameters related to the machine described above
  • the number of hidden layer nodes is preset, teacher data that is obtained in advance by actual measurement with respect to a plurality of types of operation parameter values, and various operation parameter values are preset.
  • the teacher data within the range is stored in the storage unit.
  • the calculation unit uses the teacher data obtained by actual measurement with respect to the value to change according to the values of the plurality of types of operation parameters related to the machine and the values of the types of operation parameters related to the machine described above.
  • the weight of the neural network is learned so that the difference from the teacher data corresponding to is reduced.
  • the value of the operation parameter of at least one type out of the plurality of types of operation parameters related to the machine newly acquired by the parameter value acquisition unit is outside the preset range, the newly acquired above-mentioned
  • the increase in the number of teacher data obtained by actual measurement with respect to the values of a plurality of types of operation parameters relating to the machine, or the number of teacher data is a difference value between a maximum value and a minimum value indicating a preset range.
  • the number of nodes in the hidden layer immediately before the output layer of the neural network is increased according to the increase in the data density divided, and newly within the preset range and outside the preset range.
  • Teacher data obtained by actual measurement and teacher data obtained in advance for a plurality of types of operating parameter values related to the acquired machine The difference between the output value that changes according to the values of the plurality of types of operating parameters related to the machine and the teacher data corresponding to the values of the types of operating parameters related to the machine described above is small.
  • the weight of the neural network is learned as follows. An output value for a plurality of types of operation parameter values related to the above-described machine is output using the neural network in which the weight is learned.
  • the electronic control unit includes a parameter value acquisition unit that acquires values of a plurality of types of operation parameters related to the machine, and a neural network including an input layer, a hidden layer, and an output layer.
  • a plurality of types of operation parameter values related to the machine described above are input to the input layer, and a plurality of types of operation parameter values related to the machine described above are input.
  • a plurality of output values that change in accordance with the output value are output from the output layer.
  • a range of values of various types of operation parameters is preset, and a neural network corresponding to the range of values of the plurality of types of operation parameters related to the machine described above
  • the number of hidden layer nodes is preset, teacher data that is obtained in advance by actual measurement with respect to a plurality of types of operation parameter values, and various operation parameter values are preset.
  • the teacher data within the range is stored in the storage unit.
  • a plurality of output values that change according to values of a plurality of types of operating parameters related to the above-mentioned machine and a plurality of types of operating parameters related to the above-mentioned machine using the teacher data obtained by actual measurement with respect to the values The weight of the neural network is learned so that the difference with the teacher data corresponding to the value of becomes small.
  • the newly acquired above-mentioned The increase in the number of teacher data obtained by actual measurement with respect to the values of a plurality of types of operation parameters relating to the machine, or the number of teacher data is a difference value between a maximum value and a minimum value indicating a preset range. As the data density increases, the number of nodes in the hidden layer immediately before the output layer of the neural network is increased and newly acquired within the preset range and outside the preset range.
  • Teacher data obtained by actual measurement for a plurality of types of operation parameter values related to the above-mentioned machine and teacher data obtained in advance uses the calculation unit to calculate the difference between the plurality of output values that change according to the values of the plurality of types of operation parameters related to the machine and the teacher data corresponding to the values of the types of operation parameters related to the machine described above is calculated.
  • the weight of the neural network is learned so as to decrease.
  • a plurality of output values corresponding to a plurality of types of operation parameter values related to the above-described machine are output using the neural network in which the weights are learned.
  • a range of values of a plurality of types of operation parameters related to the machine is preset.
  • a neural network corresponding to a range of values of the plurality of types of operating parameters related to the machine is formed in advance, and at least one of the values of the plurality of types of operating parameters related to the machine newly acquired is obtained.
  • a new neural network is formed, and the newly obtained operating parameter values of multiple types related to this machine are obtained by actual measurement.
  • the weight of the new neural network is learned using the teacher data.
  • An output value corresponding to a plurality of types of operation parameter values related to the machine is output using the neural network in which the weight is learned.
  • the machine learning device includes an electronic control unit, and the electronic control unit acquires a value of a plurality of types of operation parameters related to the machine described above, A calculation unit that performs calculation using a plurality of neural networks including an input layer, a hidden layer, and an output layer, and a storage unit are provided. A plurality of types of operation parameter values related to the machine are input to the input layer, and output values that change in accordance with the values of the plurality of types of operation parameter related to the machine described above are output from the corresponding output layer.
  • a range of values for various types of operation parameters is set in advance, and the range of values set for various types of operation parameters is divided into a plurality of ranges.
  • a plurality of divided regions defined by combinations of the respective ranges into which the values of various types of operation parameters are divided are set in advance.
  • a neural network is created for each segmented area, and the number of nodes in the hidden layer of each neural network is preset.
  • Teacher data that has been obtained in advance by actual measurement for the values of a plurality of types of operation parameters is stored in the storage unit.
  • the calculation unit causes the output value to change according to the values of the plurality of types of operation parameters related to the machine and the values of the types of operation parameters related to the machine described above.
  • the weight of the neural network in the segmented region to which the values of a plurality of types of operation parameters relating to the above-mentioned newly acquired machine belong is learned so that the difference from the teacher data corresponding to the above is reduced.
  • the operation of at least one type A new area defined by a combination of preset ranges of parameter values to which the parameter value belongs and various operating parameters is set, and a new neural network is created for the new area.
  • the arithmetic unit uses the teacher data obtained by actual measurement with respect to the newly acquired values of the plurality of types of operating parameters related to the machine, the arithmetic unit changes the values according to the values of the operating parameters of the plurality of types related to the machine described above.
  • the weight of the new neural network is learned so that the difference between the output value and the teacher data corresponding to the values of the plurality of types of operation parameters related to the machine becomes small.
  • An output value corresponding to the operation parameter value of the machine is output using each neural network in which the weight is learned.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Chemical & Material Sciences (AREA)
  • Combustion & Propulsion (AREA)
  • Mechanical Engineering (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

運転パラメータの値が予め設定されている範囲外であったとしても、適切な出力値を得ることができる。 ニューラルネットワークを用い、機械の運転パラメータの値に対する出力値を出力するための機械学習装置において、機械の運転パラメータの値が予め設定されている範囲外であるときには、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数が増大され、新たに取得された機械の運転パラメータの値に対し実測により得られた教師データを用いて、機械の運転パラメータの値に応じて変化する出力値と機械の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。

Description

機械学習装置
 本発明は機械学習装置に関する。
 ニューラルネットワークを用いた内燃機関の制御装置において、機関回転数、吸入空気量等の機関の運転パラメータの値に基づいて、燃焼室内への吸入ガス量が、実際の燃焼室内への吸入ガス量に一致するようにニューラルネットワークの重みを予め学習しておき、機関運転時に、重みの学習されたニューラルネットワークを用いて、機関の運転パラメータの値から、燃焼室内への吸入ガス量を推定するようにした内燃機関の制御装置が公知である(例えば特許文献1を参照)。
特開2012-112277号公報
 ところで、機関回転数のような内燃機関に関する特定の種別の運転パラメータの値の使用範囲は、機関の種類に応じて予め想定することができ、従って、通常は、機関の運転パラメータの値の予め想定される使用範囲に対し、ニューラルネットワークの出力値と、燃焼室内への実際の吸入ガス量のような実際の値との差が小さくなるようにニューラルネットワークの重みが予め学習される。しかしながら、実際には、機関の運転パラメータの値が、予め想定される使用範囲外となることがあり、この場合、予め想定される使用範囲外に対しては、実際の値に基づく学習が行われていないために、ニューラルネットワークを用いて演算された出力値が、実際の値から大きく乖離した値になってしまうという問題がある。このような問題は、内燃機関の分野に限らず、機械学習の対象となる種々の分野の機械について生ずる。
 上記問題を解決するために、1番目の発明によれば、ニューラルネットワークを用い、機械の運転パラメータの値に対する出力値を出力するための機械学習装置において、上述の機械に関する特定の種別の運転パラメータの値の範囲が予め設定されていると共に、上述の機械に関する特定の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、新たに取得された上述の機械に関する特定の種別の運転パラメータの値が予め設定されている範囲外であるときには、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させ、新たに取得された上述の機械に関する特定の種別の運転パラメータの値に対して実測により得られた教師データおよび予め設定されている範囲内における上述の機械の運転パラメータの値に対して実測により得られた教師データを用いてニューラルネットワークの重みを学習し、重みの学習されたニューラルネットワークを用いて上述の機械に関する特定の種別の運転パラメータの値に対する出力値が出力される機械学習装置が提供される。
 上記問題を解決するために、2番目の発明によれば、ニューラルネットワークを用い、機械の運転パラメータの値に対する出力値を出力するための機械学習装置において、上述の機械に関する複数の種別の運転パラメータの値の範囲が予め設定されていると共に、上述の機械に関する複数の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、新たに取得された上述の機械に関する複数の種別の運転パラメータの値が予め設定されている範囲外であるときには、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させ、新たに取得された上述の機械に関する複数の種別の運転パラメータの値に対して実測により得られた教師データおよび予め設定されている範囲内における上述の機械の運転パラメータの値に対して実測により得られた教師データを用いてニューラルネットワークの重みを学習し、重みの学習されたニューラルネットワークを用いて上述の機械に関する複数の種別の運転パラメータの値に対する出力値が出力される機械学習装置が提供される。
 上記問題を解決するために、3番目の発明によれば、ニューラルネットワークを用い、機械の運転パラメータの値に対する出力値を出力するための機械学習装置において、上述の機械に関する複数の種別の運転パラメータの値の範囲が予め設定されていると共に、上述の機械に関する複数の種別の運転パラメータの値の範囲に応じたニューラルネットワークが予め形成されており、新たに取得された上述の機械に関する複数の種別の運転パラメータの値の内の少なくとも一つの種別の運転パラメータの値が予め設定されている範囲外であるときには、新たなニューラルネットワークを形成し、新たに取得された上述の機械に関する複数の種別の運転パラメータの値に対して実測により得られた教師データを用いて新たなニューラルネットワークの重みを学習し、重みの学習されたニューラルネットワークを用いて上述の機械に関する複数の種別の運転パラメータの値に対する出力値が出力される機械学習装置が提供される。
 上記の各発明において、新たに取得された機械の運転パラメータの値が予め設定されている範囲外であるときには、ニューラルネットワークの隠れ層のノードの個数を増大させることにより、或いは新たなニューラルネットワークを作成することにより、機械の運転パラメータの値が、予め設定されている範囲外の値となったときに、ニューラルネットワークを用いて演算された出力値が、実際の値から大きく乖離した値となるのを抑制することができる。
図1は内燃機関の全体図である。 図2はニューラルネットワークの一例を示す図である。 図3Aおよび図3Bはシグモイド関数σの値の変化を示す図である。 図4Aおよび図4Bは夫々、ニューラルネットワークと、隠れ層のノードからの出力値を示す図である。 図5Aおよび図5Bは夫々、隠れ層のノードからの出力値と、出力層のノードからの出力値を示す図である。 図6Aおよび図6Bは夫々、ニューラルネットワークと、出力層のノードからの出力値を示す図である。 図7Aおよび図7Bは、本願発明により解決しようとしている課題を説明するための図である。 図8Aおよび図8Bは夫々、ニューラルネットワークと、ニューラルネットワークの入力値と出力値との関係を示す図である。 図9はニューラルネットワークを示す図である。 図10は、学習処理を実行するためのフローチャートである。 図11はニューラルネットワークの変形例を示す図である。 図12は、学習処理を実行するための別の実施例を示すフローチャートである。 図13はニューラルネットワークを示す図である。 図14Aおよび図14Bは、機関回転数等の予め設定されている範囲を示す図である。 図15はニューラルネットワークの変形例を示す図である。 図16は、学習処理を実行するための更に別の実施例を示すフローチャートである。 図17は、機関の運転パラメータの値に応じて区切られた学習済み区分け領域を示す図である。 図18A、図18Bおよび図18Cは夫々、機関回転数と点火時期に対する教師データの分布、点火時期とスロットル開度に対する教師データの分布、および教師データと学習後の出力値との関係を示す図である。 図19Aおよび図19Bは、教師データと、学習後の出力値との関係を示す図である。 図20はエアコンの自動調整を行うための機械学習装置の全体図である。 図21はニューラルネットワークを示す図である。 図22Aおよび図22Bは、気温等の予め設定されている範囲を示す図である。 図23は、学習処理を実行するための更に別の実施例を示すフローチャートである。 図24Aおよび図24Bは、気温等の予め設定されている範囲を示す図である。 図25は、学習処理を実行するための更に別の実施例を示すフローチャートである。 図26は2次電池の劣化度を推定するための機械学習装置の全体図である。 図27はニューラルネットワークを示す図である。 図28Aおよび図28Bは、気温等の予め設定されている範囲を示す図である。 図29は、算出処理を実行するためのフローチャートである。 図30は、教師データ取得処理を実行するためのフローチャートである。 図31は、学習処理を実行するための更に別の実施例を示すフローチャートである。 図32Aおよび図32Bは、気温等の予め設定されている範囲を示す図である。 図33は、学習処理を実行するための更に別の実施例を示すフローチャートである。
<内燃機関の全体構成>
 まず初めに、本発明による機械学習装置を内燃機関に適用した場合について説明する。内燃機関の全体図を示す図1を参照すると、1は機関本体、2は各気筒の燃焼室、3は各気筒の燃焼室2内に配置された点火栓、4は各気筒に燃料、例えば、ガソリンを供給するための燃料噴射弁、5はサージタンク、6は吸気枝管、7は排気マニホルドを夫々示す。サージタンク5は吸気ダクト8を介して排気ターボチャージャ9のコンプレッサ9aの出口に連結され、コンプレッサ9aの入口は吸入空気量検出器10を介してエアクリーナ11に連結される。吸気ダクト8内にはアクチュエータ13により駆動されるスロットル弁12が配置され、スロットル弁12にはスロットル弁開度を検出するためのスロットル弁開度センサ14が取り付けられている。また、吸気ダクト8周りには吸気ダクト8内を流れる吸入空気を冷却するためのインタクーラ15が配置される。
 一方、排気マニホルド7は排気ターボチャージャ9の排気タービン9bの入口に連結され、排気タービン9bの出口は排気管16を介して排気浄化用触媒コンバータ17に連結される。排気マニホルド7とサージタンク5とは排気ガス再循環(以下、EGRと称す)通路18を介して互いに連結され、EGR通路18内にはEGR制御弁19が配置される。各燃料噴射弁4は燃料分配管20に連結され、この燃料分配管20は燃料ポンプ21を介して燃料タンク22に連結される。排気管16内には排気ガス中のNOX濃度を検出するためのNOXセンサ23が配置されている。また、エアクリーナ11内には大気温を検出するための大気温センサ24が配置されている。
 電子制御ユニット30はデジタルコンピュータからなり、双方向性バス31によって互いに接続されたROM(リードオンリメモリ)32、RAM(ランダムアクセスメモリ)33、CPU(マイクロプロセッサ)34、入力ポート35および出力ポート36を具備する。入力ポート35には、吸入空気量検出器10、スロットル弁開度センサ14、NOXセンサ23および大気温センサ24の出力信号が、対応するAD変換器37を介して入力される。アクセルペダル40にはアクセルペダル40の踏込み量に比例した出力電圧を発生する負荷センサ41が接続され、負荷センサ41の出力電圧は対応するAD変換器37を介して入力ポート35に入力される。更に入力ポート35にはクランクシャフトが例えば30°回転する毎に出力パルスを発生するクランク角センサ42が接続される。CPU34内ではクランク角センサ42の出力信号に基づいて機関回転数が算出される。一方、出力ポート36は対応する駆動回路38を介して点火栓3、燃料噴射弁4、スロットル弁駆動用アクチュエータ13、EGR制御弁19および燃料ポンプ21に接続される。
<ニューラルネットワークの概要>
 本発明による実施例では、ニューラルネットワークを用いて内燃機関の性能を表す種々の値を推定するようにしている。図2はこのニューラルネットワークの一例を示している。図2における丸印は人工ニューロンを表しており、ニューラルネットワークにおいては、この人工ニューロンは、通常、ノード又はユニットと称される(本願では、ノードと称す)。図2において L=1は入力層、L=2および L=3は隠れ層、L=4は出力層を夫々示している。また、図2において、xおよびx は入力層 ( L=1) の各ノードからの出力値を示しており、y は出力層 ( L=4) のノードからの出力値を示しており、z1、 およびz は隠れ層 ( L=2) の各ノードからの出力値を示しており、zおよびz は隠れ層 ( L=3) の各ノードからの出力値を示している。なお、隠れ層の層数は、1個又は任意の個数とすることができ、入力層のノードの数および隠れ層のノードの数も任意の個数とすることができる。なお、図2には、出力層のノードの数が1個の場合が示されているが、出力層のノードの数は2個以上の複数個とすることができる。
 入力層の各ノードでは入力がそのまま出力される。一方、隠れ層 ( L=2) の各ノードには、入力層の各ノードの出力値xおよびx が入力され、隠れ層 ( L=2) の各ノードでは、夫々対応する重みwおよびバイアスbを用いて総入力値uが算出される。例えば、図2において隠れ層 ( L=2) のz(k=1,2,3)で示されるノードにおいて算出される総入力値uは、次式のようになる。
Figure JPOXMLDOC01-appb-M000001
 次いで、この総入力値uは活性化関数fにより変換され、隠れ層 ( L=2) のzで示されるノードから、出力値z(=f(uk))として出力される。隠れ層 ( L=2) の他のノードについても同様である。一方、隠れ層 ( L=3) の各ノード には、隠れ層 ( L=2) の各ノードの出力値z1、 およびz が入力され、隠れ層 ( L=3 ) の各ノードでは、夫々対応する重みwおよびバイアスbを用いて総入力値u(Σz・w+b)が算出される。この総入力値uは同様に活性化関数により変換され、隠れ層 ( L=3 ) の各ノードから、出力値z 、z として出力される、なお、本発明による実施例では、この活性化関数としてシグモイド関数σが用いられている。
 一方、出力層 ( L=4) のノード には、隠れ層 ( L=3) の各ノードの出力値z およびz が入力され、出力層 のノードでは、夫々対応する重みwおよびバイアスbを用いて総入力値u(Σz・w+b)が算出されるか、又は、夫々対応する重みwのみを用いて総入力値u(Σz・w)が算出される。本発明による実施例では、出力層のノードでは恒等関数が用いられており、従って、出力層のノードからは、出力層のノードにおいて算出された総入力値uが、そのまま出力値yとして出力される。
<ニューラルネットワークによる関数の表現>
 さて、ニューラルネットワークを用いると任意の関数を表現することができ、次に、このことについて簡単に説明する。まず初めに、活性化関数として用いられているシグモイド関数σについて説明すると、シグモイド関数σは、σ(x)=1/(1+exp(-x))で表され、図3Aに示されるようにxの値に応じて0と1の間の値を取る。ここで、xをwx+bに置き換えると、シグモイド関数σは、σ(wx+b)=1/(1+exp(-wx―b))で表される。ここで、wの値を大きくしていくと、図3Bにおいて曲線σ、σ、σで示されるように、シグモイド関数σ(wx+b)の曲線部分の傾斜が次第に急になり、wの値を無限大にすると、図3Bにおいて曲線σで示されるように、シグモイド関数σ(wx+b)は、x=-b/w(wx+b=0となるx、即ち、σ(wx+b)=0.5となるxにおいて、図3Bに示されるように、ステップ状に変化するようになる。このようなシグモイド関数σの性質を利用すると、ニューラルネットワークを用いて任意の関数を表現することができる。
 例えば、図4Aに示されるような1個のノードからなる入力層 ( L=1) と、2個のノードからなる隠れ層 ( L=2) と、1個のノードからなる出力層 ( L=3) とにより構成されるニューラルネットワークを用いて、2次関数に近似した関数を表現することができる。なお、この場合、出力層 ( L=3)の個数を複数個にしても任意の関数を表現することができるが、容易に理解し得るように、出力層 ( L=3)の ノードの個数が一個の場合を例にとって説明する。さて、図4Aに示されるニューラルネットワークでは、図4Aに示されるように、入力層 ( L=1) のノードには入力値xが入力され、隠れ層 ( L=2) においてzで示されるノードには、重みw (L2) およびバイアスbを用いて算出された入力値u=x・w (L2)+b が入力される。この入力値uはシグモイド関数σ(x・w (L2)+b)により変換され、出力値z として出力される。同様に、隠れ層 ( L=2) においてzで示されるノードには、重みw (L2)およびバイアスb を用いて算出された入力値u=x・w2 (L2)+b2 が入力され、この入力値uはシグモイド関数σ(x・w2 (L2)+b2)により変換され、出力値z2 として出力される。
 一方、出力層 ( L=3)  のノード には、隠れ層 ( L=2) の各ノードの出力値z およびz が入力され、出力層 のノードでは、夫々対応する重みw (y) およびw (y) を用いて総入力値u(Σz・w=z・w (y) +z・w (y))が算出される。前述したように、本発明による実施例では、出力層のノードでは恒等関数が用いられており、従って、出力層のノードからは、出力層のノードにおいて算出された総入力値uが、そのまま出力値yとして出力される。
 図4Bの(I)には、x=0においてシグモイド関数σ(x・w (L2)+b)の値がほぼ零となるように重みw (L2)およびバイアスbが設定されたときの隠れ層 ( L=2) のノードからの出力値zが示されている。一方、シグモイド関数σ(x・w2 (L2)+b2)において、例えば、重みw (L2)をマイナスの値にすると、シグモイド関数σ(x・w2 (L2)+b2)の曲線の形は、図4Bの(II)に示されるように、xの増大に伴い減少するような形となる。図4Bの(II)には、x=0においてシグモイド関数σ(x・w2 (L2)+b2)の値がほぼ零となるように重みw (L2)およびバイアスb が設定されたときの隠れ層 ( L=2) のノードからの出力値z の変化が示されている。
 一方、図4Bの(III)には、隠れ層 ( L=2) の各ノードからの出力値z とz の和(z +z )が実線で示されている。なお、図4Aに示されるように、各出力値z 、z には、夫々対応する重みw (y) およびw (y) が乗算されており、図4Bの(III)には、w (y) 、w (y) >1でありかつw (y) ≒w (y) であるときの出力値yの変化が破線Aで示されている。更に、図4Bの(III)には、w (y) 、w (y) >1でありかつw (y)> w (y) であるときの出力値yの変化が一点破線Bで示されており、図4Bの(III)には、w (y) 、w (y) >1でありかつw (y)< w (y) であるときの出力値yの変化が一点破線Cで示されている。図4Bの(III)において、Wで示される範囲内における破線Aの形状は、y=ax(aは係数)で示されるような2次関数に近似した曲線を表しており、従って、図4Aに示されるようなニューラルネットワークを用いることにより、2次関数に近似した関数を表現できることがわかる。
 一方、図5Aは、図4Aにおける重みw (L2) およびw2 (L2) の値を大きくすることにより、シグモイド関数σの値を、図3Bに示されるように、ステップ状に変化させた場合を示している。図5Aの(I)には、x=―b /w (L2) において、シグモイド関数σ(x・w (L2)+b )の値がステップ状に増大するように重みw (L2)およびバイアスbが設定されたときの隠れ層 ( L=2) のノードからの出力値zが示されている。また、図5Aの(II)には、x=―b /w (L2) よりも少し大きいx=-b /w (L2) においてシグモイド関数σ(x・w2 (L2)+b2)の値がステップ状に減少するように重みw (L2)およびバイアスb が設定されたときの隠れ層 ( L=2) のノードからの出力値zが示されている。また、図5Aの(III)には、隠れ層 ( L=2) の各ノードからの出力値z とz の和(z +z )が実線で示されている。図4Aに示されるように、各出力値z 、z には、夫々対応する重みw (y) およびw (y) が乗算されており、図5Aの(III)には、w (y) 、w (y) >1であるときの出力値yが破線で示されている。
 このように、図4Aに示されるニューラルネットワークにおいて、隠れ層 ( L=2) の一対のノードにより、図5Aの(III)に示されるような短冊状の出力値yが得られる。従って、隠れ層 ( L=2) の対をなすノード数を増大し、隠れ層 ( L=2) の各ノードにおける重みwおよびバイアスbの値を適切に設定すると、図5Bにおいて破線の曲線で示すような関数y=f(x)を近似する関数を表現できることになる。なお、図5Bでは、各短冊が接するように描かれているが、実際には、各短冊は部分的に重なる場合がある。また、実際には、wの値は無限大ではないために、各短冊は、正確な短冊状にはならず、図3Bにおいてσで示される曲線部分の上半分のような曲線状となる。なお、詳細な説明は省略するが、図6Aに示されるように、異なる二つの入力値xおよびxに対し、隠れ層 ( L=2)において夫々対応する一対のノードを設けると、図6Bに示されるように、入力値xおよびxに応じた柱状の出力値yが得られる。この場合、各入力値x、xに対し、隠れ層 ( L=2) に多数の対をなすノードを設けると、夫々異なる入力値xおよびxに応じた複数個の柱状の出力値yが得られ、従って、入力値xおよびx と出力値yとの関係を示す関数を表現できることがわかる。なお、異なる三つ以上の入力値xがある場合でも同様に、入力値xと出力値yとの関係を示す関数を表現できる。
<ニューラルネットワークにおける学習>
 一方、本発明による実施例では、誤差逆伝播法を用いて、ニューラルネットワーク内における各重みwの値およびバイアスbの値が学習される。この誤差逆伝播法は周知であり、従って、誤差逆伝播法についてはその概要を以下に簡単に説明する。なお、バイアスbは重みwの一種なので、以下の説明では、バイアスbは重みwの一つとされている。さて、図2に示すようなニューラルネットワークにおいて、L=2,L=3又は L=4の各層のノードへの入力値u(L)における重みをw(L)で表すと、誤差関数Eの重みw(L)による微分、即ち、勾配∂E/∂w(L)は、書き換えると、次式で示されるようになる。
Figure JPOXMLDOC01-appb-M000002
 ここで、z(L-1)・∂w(L)= ∂u(L)であるので、(∂E/∂u(L))=δ(L)とすると、上記(1)式は、次式でもって表すことができる。
Figure JPOXMLDOC01-appb-M000003
 ここで、u(L)が変動すると、次の層の総入力値u(L+1)の変化を通じて誤差関数Eの変動を引き起こすので、δ(L)は、次式で表すことができる。
Figure JPOXMLDOC01-appb-M000004
 ここで、z(L)=f(u(L)) と表すと、上記(3)式の右辺に現れる入力値uk (L+1)は、次式で表すことができる。
Figure JPOXMLDOC01-appb-M000005
 ここで、上記(3)式の右辺第1項(∂E/∂u(L+1))はδ(L+1)であり、上記(3)式の右辺第2項(∂u (L+1) /∂u(L))は、次式で表すことができる。
Figure JPOXMLDOC01-appb-M000006
 従って、δ(L)は、次式で表される。
Figure JPOXMLDOC01-appb-M000007
 即ち、δ(L+1)が求まると、δ(L)を求めることができることになる。
 さて、或る入力値に対して教師データyが求められており、この入力値に対する出力層からの出力値がyであった場合、誤差関数として二乗誤差が用いられている場合には、二乗誤差Eは、E=1/2(y-y)で求められる。この場合、図2の出力層(L=4)のノードでは、出力値y= f(u(L)) となり、従って、この場合には、出力層(L=4)のノードにおけるδ(L)の値は次式のようになる。
Figure JPOXMLDOC01-appb-M000008
 ところで、本発明による実施例では、前述したように、f(u(L)) は恒等関数であり、f’(u(L)) = 1となる。従って、δ(L)=y-y となり、δ(L)が求まる。
 δ(L)が求まると、上式(6)を用いて前層のδ(L-1)が求まる。このようにして順次、前層のδが求められ、これらδの値を用いて、上式(2)から、各重みwについて誤差関数Eの微分、即ち、勾配∂E/∂w(L)が求められる。勾配∂E/∂w(L)が求められると、この勾配∂E/∂w(L)を用いて、誤差関数Eの値が減少するように、重みwの値が更新される。即ち、重みwの値の学習が行われることになる。なお、出力層(L=4)が複数個のノードを有する場合には、各ノードからの出力値をy1、・・・、対応する教師データをyt1、t2・・・とすると、誤差関数Eとして、次の二乗和誤差Eが用いられる。
Figure JPOXMLDOC01-appb-M000009
<本発明による実施例>
 次に、図7Aから図10を参照しつつ、本発明による機械学習装置の第1実施例について説明する。この本発明による第1実施例では、図4Aに示されるように、一個の入力層 ( L=1)と、一層からなる隠れ層 ( L=2)と、一個の出力層 ( L=3)からなるニューラルネットワークが用いられている。また、この第1実施例は、図4Aに示されるようなニューラルネットワークを用いて、出力値yが入力値xの2次関数で表されるように、ニューラルネットワークの重みの学習が行われた場合を示している。なお、図7Aから図8Bにおいて、破線は真の2次関数の波形を示しており、黒で塗り潰された丸は教師データを示しており、リング状の丸は、入力値xに対応する出力値yと教師データとの差が小さくなるようにニューラルネットワークの重みの学習が行われた後の出力値yを示しており、実線の曲線は、学習終了後の入力値xと出力値yとの関係を示している。また、図7Aから図8Bにおいて、AとBとの間、即ち、Rは入力値xの予め設定されている範囲を示している。
 さて、図7Aおよび図7Bは、本願発明が解決しようとしている課題を説明するための図であり、従って、まず初めに、図7Aおよび図7Bを参照しつつ、本願発明が解決しようとしている課題について説明する。図7Aは、図4Aに示されるように隠れ層 ( L=2) のノードの個数が2個であるニューラルネットワークを用いて、予め設定されている範囲R内の入力値xに対し、出力量yが入力値xの2次関数y=ax (aは定数)となるようにニューラルネットワークの重みを学習した場合を示している。図7Aに示されるように、ニューラルネットワークの隠れ層 ( L=2) が2個のノードしか有さない場合でも、入力値xが予め設定されている範囲R内にある場合には、実線で示されるように、2次関数に近い関数が表現される。
 即ち、入力値xの予め設定されている範囲Rについて学習が行われた場合には、予め設定されている範囲Rについては、複数のシグモイド関数σの曲線部分の適切な組み合わせにより、出力値yが2次関数に近い関数として表現される。しかしながら、入力値xの予め設定されている範囲R外については、学習が行われていないために、実線で示されるように、シグモイド関数σが大きく変化する曲線部分の両端の直線部分がそのまま出力値yとして現れる。従って、学習完了後の出力値yは、図7Aにおいて実線で示されるように、入力値xの予め設定されている範囲R内においては、2次関数に近い関数の形で現れ、入力値xの予め設定されている範囲R外においては、入力値xに対してほとんど変化しない直線に近い形で現れる。従って、図7Aに示されるように、入力値xの予め設定されている範囲R外においては、出力値yは破線で示される2次曲線に対して、大きく乖離している。
 一方、図7Bは、入力値xが、例えば、図7Bにおいてx で示されるように、入力値xの予め設定されている範囲R外になってしまった場合において、入力値xがx のときの出力値yも教師データに含めて、ニューラルネットワークの重みが学習された場合を示している。このように、入力値xの予め設定されている範囲R外の出力値yも含めて学習が行われた場合には、図4Bのzで示されるシグモイド関数σのz=1となる直線部分が出力値yを含むように上昇し、図4Bのzで示されるシグモイド関数σが全体的に右に移動すると共にシグモイド関数σの値が全体的に低くなるために、図7Bにおいて実線で示されるように、予め設定されている範囲R内において、学習終了後の出力値yの値が2次曲線に対して大きく乖離してしまう。このように入力値xの予め設定されている範囲R外になってしまった場合には、適切な出力値yを得ることができない。
 ところがこの場合、ニューラルネットワークの隠れ層 ( L=2) のノードの個数を増大すると、入力値xが予め設定されている範囲R外になった場合でも、適切な出力値yが得られることが判明したのである。次に、このことについて、本発明による第1実施例を示す図8Aおよび図8Bを参照しつつ説明する。図8Bは、図8Aに示されるように、ニューラルネットワークの隠れ層 ( L=2) のノードの個数を2個から3個に増大した状態で、入力値xがx のときの出力値yも教師データに含めて、ニューラルネットワークの重みを学習したときの学習結果を示している。このようにニューラルネットワークの隠れ層 ( L=2) のノードの個数が増大せしめられると、図8Bにおいて実線で示されるように、出力値yの値が、破線で示される2次曲線に重なるようになる。従って、図8Bに示されるように、入力値xが、予め想定される使用範囲R外になった場合でも、ニューラルネットワークの隠れ層 ( L=2) のノードの個数を増大することにより、適切な出力値yを得られることがわかる。そこで本発明による第1実施例では、入力値xが、予め設定されている範囲R外になった場合には、ニューラルネットワークの隠れ層 ( L=2) のノードの個数を増大させるようにしている。
 次に、図7Aから図8Bに示される入力値xおよび出力値yの具体的な一例について説明する。内燃機関の分野においては、内燃機関に関する特定の種別の運転パラメータの値を入力値xとしたときに、実際の出力量yが入力値xの2次関数の形となる場合があり、そのような場合の一例として、内燃機関に関する特定の種別の運転パラメータの値、即ち、入力値xが機関回転数N(rpm)であり、出力量yが排気損失量である場合がある。この場合、機関回転数Nの使用範囲は、機関が定まるとそれに応じて定まり、従って、機関回転数Nの範囲は、予め設定されている。一方、排気損失量は、機関燃焼室から排出される熱エネルギ量を示しており、機関燃焼室から排出される排気ガス量に比例し、機関燃焼室から排出される排気ガス温と外気温との温度差に比例する。この排気損失量は、実際に機関を運転したときのガス温度等の検出値に基づいて算出され、従って、この算出された排気損失量は実測により得られた値を示していることになる。
 この具体的な一例では、入力値x、即ち、機関回転数Nが、予め設定されている範囲R内であるときには、実測により得られた教師データを用いて、出力値yと、入力値xに対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。即ち、内燃機関に関する特定の種別の運転パラメータの値が、予め設定されている範囲R内であるときには、実測により得られた教師データを用いて、出力値yと、内燃機関に関する特定の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。一方、入力値x、即ち、機関回転数Nが、予め設定されている範囲外であるときには、ニューラルネットワークの隠れ層のノードの個数が増大されると共に、新たに取得された入力値x、即ち、機関回転数Nに対し実測により得られた教師データを用いて、出力値yと、入力値xに対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。即ち、内燃機関に関する特定の種別の運転パラメータの値が、予め設定されている範囲外であるときには、ニューラルネットワークの隠れ層のノードの個数が増大されると共に、新たに取得された内燃機関に関する特定の種別の運転パラメータの値に対し実測により得られた教師データを用いて、出力値yと、内燃機関に関する特定の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。従って、この場合、機関回転数Nが予め設定されている範囲Rよりも高くなったとしても、排気損失量を、比較的正確に、推定することができることになる。
 なお、本発明による第1実施例は、図9に示されるような複数の隠れ層 ( L=2およびL=3) を有するニューラルネットワークにも適用することができる。図9に示されるようなニューラルネットワークでは、出力層(L=4)の一つ前の隠れ層 ( L=3) のノードの出力値z、zによって、出力層(L=4)から出力される関数の形が定まる。即ち、出力値yがどのような関数で表現できるかは、出力層(L=4)の一つ前の隠れ層 ( L=3) のノードの個数によって支配される。従って、図9に示されるようなニューラルネットワークにおいて、隠れ層のノードの個数を増大するときには、図9に示されるように、出力層(L=4)の一つ前の隠れ層 ( L=3) のノードの個数が増大せしめられる。
 上述の第1実施例では、予め設定されている範囲R内の種々の入力値xに対して実測された排気損失量が教師データとして事前に求められており、即ち、予め設定されている範囲R内における内燃機関に関する特定の種別の運転パラメータの値に対して実測により教師データが事前に求められており、これら内燃機関に関する特定の種別の運転パラメータの値および教師データからニューラルネットワークの構造が決定され、出力値yと、内燃機関に関する特定の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが事前に学習される。この予め設定されている範囲R内における内燃機関に関する特定の種別の運転パラメータの値に対して実測により事前に求められている教師データは電子制御ユニット30の記憶部に記憶される。この第1実施例では、事前学習において用いられたニューラルネットワークと同じ構造のニューラルネットワークを用い、学習が完了したときのニューラルネットワークの重みを用いて、車両運転中にオンボードで更に学習が行われる。図10は、このオンボードで行われる第1実施例の学習処理ルーチンを示している。なお、図10に示される学習処理ルーチンは一定時間毎の、例えば、一秒毎の割り込みによって実行される。
 図10を参照すると、まず初めに、ステップ101において、電子制御ユニット30の記憶部に記憶されている学習済みの重みと、事前の学習において用いられていた教師データ、即ち、予め設定されている範囲R内における内燃機関に関する特定の種別の運転パラメータの値に対して実測により事前に求められている教師データと、入力データの範囲R、即ち、内燃機関に関する特定の種別の運転パラメータの値の予め設定されている範囲を示す値A,Bが読み込まれる。この学習済みの重みは、重みの初期値として用いられる。次いで、ステップ102では、事前の学習において用いられていたニューラルネットワークの出力層の一つ前の隠れ層のノードの個数Kが読み込まれる。次いで、ステップ103に進んで、新たな入力値x、即ち、新たな内燃機関に関する特定の種別の運転パラメータの値が取得され、この新たな入力値x、即ち、新たな内燃機関に関する特定の種別の運転パラメータの値は、電子制御ユニット30の記憶部に記憶される。更に、ステップ103では、新たな入力値xに対する排気損出量の実測値が教師データとして、電子制御ユニット30の記憶部に記憶される。即ち、ステップ103では、新たに取得された内燃機関に関する特定の種別の運転パラメータの値に対し実測により得られた教師データが電子制御ユニット30の記憶部に記憶される。
 次いで、ステップ104では、新たな入力値x、即ち、新たに取得された内燃機関に関する特定の種別の運転パラメータの値が、予め設定されている範囲Rを示すA,B間にあるか否か、即ち、新たな入力値xがA以上であり、B以下であるか否かが判別される。新たな入力値xが、予め設定されている範囲Rを示すA,B間にあるときには、ステップ105に進んで、入力値x、即ち、新たに取得された内燃機関に関する特定の種別の運転パラメータの値がニューラルネットワークの入力層のノードに入力され、ニューラルネットワークの出力層のノードから出力された出力値yと新たに取得された内燃機関に関する特定の種別の運転パラメータの値に対し実測により得られた教師データとに基づき、誤差逆伝播法を用いて、出力値yと教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。
 一方、ステップ104において、新たな入力値x、即ち、新たに取得された内燃機関に関する特定の種別の運転パラメータの値が、予め設定されている範囲Rを示すA,B間にないと判別されたときには、ステップ106に進んで、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数Kが更新され、出力層の一つ前の隠れ層のノードの個数Kが増大せしめられる。このとき、第1実施例では、出力層の一つ前の隠れ層のノードの個数Kが1個だけ増大される。次いで、ステップ107では、出力層の一つ前の隠れ層のノードの個数Kを増大させるようにニューラルネットワークが更新され、次いで、ステップ105に進む。ステップ105では、新たな入力値xに対して新たに得られた教師データも教師データに含めて、出力値yと教師データとの差が小さくなるように、更新されたニューラルネットワークの重みが学習される。即ち、ステップ105では、新たに取得された内燃機関に関する特定の種別の運転パラメータの値に対し実測により得られた教師データ、および予め設定されている範囲R内における内燃機関に関する特定の種別の運転パラメータの値に対して実測により事前に求められている教師データを用いて、予め設定されている範囲内および予め設定されている範囲外の内燃機関に関する特定の種別の運転パラメータの値に応じて変化する出力値yと、この内燃機関に関する特定の種別の運転パラメータの値に対応した教師データとの差が小さくなるように、更新されたニューラルネットワークの重みが学習される。
 この場合、新たに取得された内燃機関に関する特定の種別の運転パラメータの値が予め設定されている範囲外であるときには、新たに取得された内燃機関に関する特定の種別の運転パラメータの値に対し実測により得られた教師データの個数が2個以上の一定個数以上である場合に、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させることもできる。従って、この第1実施例では、新たに取得された内燃機関に関する特定の種別の運転パラメータの値が予め設定されている範囲外であるときには、新たに取得された内燃機関に関する特定の種別の運転パラメータの値に対し実測により得られた教師データの個数の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数が増大されることになる。
 また、予め設定されている範囲外の新たに取得された内燃機関に関する特定の種別の運転パラメータの値に対し実測により得られた教師データが複数個ある場合、図8BにおいてBとC間で示される予め設定されている運転パラメータの値の範囲における教師データのデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させることができる。なお、図8BにおいてBおよびCは夫々、この予め設定されている運転パラメータの値の範囲の最小値と最大値を示しており、従って、正確に言うと、教師データの個数を運転パラメータの値の予め設定されている範囲を示す最大値C及び最小値Bの差分値(C-B)で除したデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させることができる。
 さて、本発明の実施例において用いられている内燃機関は、図1に示されるように、電子制御ユニット30を具備しており、この電子制御ユニット30は、内燃機関の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備している。ここで、図1に示される入力ポート35が上述のパラメータ値取得部を構成しており、CPU34が上述の演算部を構成しており、ROM32およびRAM33が上述の記憶部を構成している。なお、CPU34、即ち、上述の演算部では、内燃機関の運転パラメータの値が入力層に入力され、機関の運転パラメータの値に応じて変化する出力値が出力層から出力される。また、内燃機関に関する特定の種別の運転パラメータの値に対して予め設定されている範囲Rは、予めROM32内、即ち、上述の記憶部に記憶されている。更に、学習済みの重みと、予め設定されている範囲R内における内燃機関に関する特定の種別の運転パラメータの値に対して実測により事前に求められている教師データは、RAM33内、即ち、上述の記憶部に記憶されている。
 図11は、本発明による第1実施例において用いられているニューラルネットワークの変形例を示している。この変形例では、出力層(L=4)が二個のノードを有している。
この変形例では、図9に示される例と同様に、入力値xが機関回転数N(rpm)とされている。一方、この変形例では、一方の出力量yが、図9に示される例と同様に、排気損失量とされており、他方の出力量yが、入力値xの2次関数となる何らかの量、例えば燃料消費率とされている。この変形例でも、出力層(L=4)の各ノードでは、活性化関数として恒等関数が用いられている。このように出力層(L=4)が複数個のノードを有する場合には、前述したように誤差関数Eとして、前式(8)に示される二乗和誤差E(各ノードからの出力値がy1、・・・、対応する教師データがyt1、t2・・・)が用いられる。この場合、前式(7)からわかるように、一方のノードについては二乗和誤差Eをyにより偏微分するので(∂E/∂y)、一方のノードにおけるδ(L)の値は、δ(L)=y-yt1となり、他方のノードについては二乗和誤差Eをyにより偏微分するので(∂E/∂y)、他方のノードにおけるδ(L)の値は、δ(L)=y-yt12となる。出力層(L=4)の各ノードについて、δ(L)が求まると前式(6)を用いて前層のδ(L-1)が求まる。このようにして順次、前層のδが求められ、これらδの値を用いて、前式(2)から、各重みwについて誤差関数Eの微分、即ち、勾配∂E/∂w(L)が求められる。勾配∂E/∂w(L)が求められると、この勾配∂E/∂w(L)を用いて、誤差関数Eの値が減少するように、重みwの値が更新される。
 図11に示されるようにニューラルネットワークの出力層(L=4)が複数個のノードを有する場合においても、出力層(L=4)の一つ前の隠れ層 ( L=3) のノードの出力値z、zによって、出力層(L=4)の各ノードから出力される関数の形が定まる。即ち、各出力値y、yがどのような関数で表現できるかは、出力層(L=4)の一つ前の隠れ層 ( L=3) のノードの個数によって支配される。従って、図11に示されるようなニューラルネットワークにおいて、隠れ層のノードの個数を増大するときには、図11に示されるように、出力層(L=4)の一つ前の隠れ層 ( L=3) のノードの個数が増大せしめられる。
 図12から図14Bは、本発明による機械学習装置の第2実施例を示している。この第2実施例では、内燃機関に関する運転パラメータが複数の種別の運転パラメータからなり、内燃機関に関する複数の種別の運転パラメータの値に基づいて、ニューラルネットワークの重みの学習が行われる。具体的な一例として、内燃機関の運転パラメータが機関回転数、アクセル開度(アクセルペダルの踏込み量)および外気温からなり、これら内燃機関の運転パラメータの値に基づいて、内燃機関の出力トルクを推定するニューラルネットワークモデルを作成する場合が示されている。この具体的な一例では、図13に示されるように、ニューラルネットワークの入力層 ( L=1) は3個のノードからなり、各ノードに、機関回転数を示す入力値x、アクセル開度を示す入力値xおよび外気温を示す入力値x が入力される。また、隠れ層(L=2、L=3)の層数は、1個又は任意の個数とすることができ、隠れ層(L=2、L=3)のノードの数も任意の個数とすることができる。なお、図13に示される例では、出力層(L=4)のノードの数は1個とされている。
 一方、図14Aにおいて、AとB との間、即ち、Rは機関回転数の予め設定されている範囲を示しており、AとBとの間、即ち、Rはアクセル開度の予め設定されている範囲を示しており、AとBとの間、即ち、Rは外気温の予め設定されている範囲を示している。なお、図14Bも、図14Aと同様に、AとB との間は機関回転数の予め設定されている範囲を示しており、AとBとの間はアクセル開度の予め設定されている範囲を示しており、AとBとの間は外気温の予め設定されている範囲を示している。なお、この第2実施例では、アクセル開度は負荷センサ41により検出され、外気温は大気温センサ24によって検出される。また、この第2実施例では、例えば、機関クランクシャフトに取り付けられたトルクセンサによって機関の出力トルクが実測され、この実測により得られたトルクが教師データとされている。
 この第2実施例でも、予め設定されている範囲Rn内の種々の入力値x(n= 1,2,3)に対して実測された機関出力トルクが教師データとして事前に求められており、即ち、予め設定されている範囲Rn内における内燃機関に関する複数の種別の運転パラメータの値に対して実測により教師データが事前に求められており、これら内燃機関に関する複数の種別の運転パラメータの値および教師データからニューラルネットワークの構造が決定され、出力値yと、内燃機関に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが事前に学習される。この予め設定されている範囲Rn内における内燃機関に関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データは電子制御ユニット30の記憶部に記憶される。この第2実施例でも、事前学習において用いられたニューラルネットワークと同じ構造のニューラルネットワークを用い、学習が完了したときのニューラルネットワークの重みを用いて、車両運転中にオンボードで更に学習が行われる。図12は、このオンボードで行われる第2実施例の学習処理ルーチンを示しており、この学習処理ルーチンは一定時間毎の、例えば、一秒毎の割り込みによって実行される。
 図12を参照すると、まず初めに、ステップ201において、電子制御ユニット30の記憶部に記憶されている学習済みの重みと、事前の学習において用いられていた教師データ、即ち、予め設定されている範囲Rn内における内燃機関に関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データと、入力データの範囲、即ち、内燃機関に関する複数の種別の運転パラメータの値の予め設定されている範囲を示す値An,Bn(n= 1,2,3)(図13A)が読み込まれる。この学習済みの重みは、重みの初期値として用いられる。次いで、ステップ202では、事前の学習において用いられていたニューラルネットワークの出力層の一つ前の隠れ層のノードの個数Kが読み込まれる。次いで、ステップ203に進んで、新たな入力値x、即ち、新たな内燃機関に関する複数の種別の運転パラメータの値が取得され、この新たな入力値x、即ち、新たな内燃機関に関する複数の種別の運転パラメータの値は、電子制御ユニット30の記憶部に記憶される。更に、ステップ203では、新たな入力値xに対する機関出力トルクの実測値が教師データとして、電子制御ユニット30の記憶部に記憶される。即ち、ステップ203では、新たに取得された内燃機関に関する複数の種別の運転パラメータの値に対し実測により得られた教師データが電子制御ユニット30の記憶部に記憶される。
 次いで、ステップ204では、新たな入力値x、即ち、新たに取得された内燃機関に関する複数の種別の運転パラメータの値が、予め設定されている範囲Rn(AnとBnとの間)内にあるか否か、即ち、新たな入力値xがAn以上であり、Bn以下であるか否かが判別される。新たな入力値xが、予め設定されている範囲Rn内にあるときには、ステップ205に進んで、各入力値x、即ち、新たに取得された内燃機関に関する複数の種別の運転パラメータの値がニューラルネットワークの入力層の対応するノードに入力され、ニューラルネットワークの出力層のノードから出力された出力値yと、新たに取得された内燃機関に関する複数の種別の運転パラメータの値に対し実測により求められた教師データとに基づき、誤差逆伝播法を用いて、出力値yと教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。
 一方、ステップ204において、新たな入力値x、即ち、新たに取得された内燃機関に関する複数の種別の運転パラメータの値の内の少なくとも一つの種別の運転パラメータの値が、予め設定されている範囲Rn(AnとBnとの間)内にないと判別されたとき、例えば、図14Bにおいて機関回転数を示す入力値xが、BからC(B<C)までの予め設定されている範囲(B~C)内にあるような場合、或いは図13Bにおいて外気温を示す入力値xが、CからA(C<A)までの予め設定されている範囲(C~A)内にあるような場合には、ステップ206に進む。ステップ206では、最初に、新たな入力値xの属する範囲(B~C)或いは範囲(C~A)内における新たな入力値xに対する教師データの密度D(=教師データ個数/(C―B)、或いは教師データ個数/(A―C))が算出される。
 ところで、図14Bにおいて、BおよびCは夫々、機関回転数の予め設定されている範囲の最小値と最大値、即ち、運転パラメータの値の予め設定されている範囲の最小値と最大値を示しており、教師データ密度Dは、教師データの個数を運転パラメータの値の予め設定されている範囲を示す最大値C及び最小値Bの差分値(C-B)で除した値を示している。また、図14Bにおいて、CおよびAは夫々、予め設定されている外気温の範囲の最小値と最大値、即ち、運転パラメータの値の予め設定されている範囲の最小値と最大値を示しており、教師データ密度Dは、教師データの個数を運転パラメータの値の予め設定されている範囲を示す最大値C及び最小値Aの差分値(C-A)で除した値を示している。ステップ206では、教師データ密度Dが算出されると、教師データ密度Dが予め定められたデータ密度Dよりも高くなったか否かが判別される。教師データ密度Dが予め定められたデータ密度Dよりも低い場合には処理サイクルを完了する。
 一方、ステップ206において、教師データ密度Dが予め定められたデータ密度Dよりも高くなったと判別されたときにはステップ207に進む。この場合、D(=教師データ個数/(A―C))>D のときには、次式により追加ノード数αが算出される。
 追加ノード数α=round{ (K/(Bn-An))・(An-Cn)}
 一方、D(=教師データ個数/(C―B))>D のときには、次式により追加ノード数αが算出される。
 追加ノード数α=round{ (K/(Bn-An))・(Cn-Bn)}
 なお、上式において、Kはノードの個数を示しており、roundは四捨五入を意味している。
 ステップ207において追加ノード数αが算出されると、ステップ208に進んで、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数Kが更新され、出力層の一つ前の隠れ層のノードの個数Kが、追加ノード数αだけ増大せしめられる(K←K+α)。このように、この第2実施例では、教師データの個数を運転パラメータの値の予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度が増大すると、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数が増大される。即ち、この第2実施例では、教師データの個数を運転パラメータの値の予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数が増大される。
 一方、上述したように、ステップ206からステップ207に進むのは、教師データ密度Dが予め定められたデータ密度Dに達したときであり、従って、ステップ207において追加ノード数αの算出に用いられている(A―C)の値および(C―B)の値は、教師データの個数に比例していることになる。従って、上式からわかるように、追加ノード数αは、新たな入力値xの属する範囲(B~C)或いは範囲(C~A)内における教師データの個数に比例することになる。即ち、この第2実施例では、新たに取得された内燃機関に関する複数の種別の運転パラメータの値に対し実測により得られた教師データの個数の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数が増大されることになる。
 ステップ208において出力層の一つ前の隠れ層のノードの個数Kが、追加ノード数αだけ増大せしめられる(K←K+α)と、ステップ209に進み、出力層の一つ前の隠れ層のノードの個数Kを増大させるようにニューラルネットワークが更新される。次いで、ステップ205に進む。ステップ205では、新たな入力値xに対して新たに得られた教師データも教師データに含めて、出力値yと教師データとの差が小さくなるように、更新されたニューラルネットワークの重みが学習される。即ち、ステップ205では、新たに取得された内燃機関に関する複数の種別の運転パラメータの値に対し実測により得られた教師データ、および予め設定されている範囲Rn内における内燃機関に関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データを用いて、予め設定されている範囲内および予め設定されている範囲外の内燃機関に関する複数の種別の運転パラメータの値に応じて変化する出力値yと、この内燃機関に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるように、更新されたニューラルネットワークの重みが学習される。
 さて、本発明の第2実施例では、内燃機関に関する複数の種別の運転パラメータの値に対して予め設定されている範囲Rnを示す値An,Bnは、予めROM32内、即ち、上述の記憶部に記憶されている。また、学習済みの重み、および予め設定されている範囲Rn内における内燃機関に関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データは、RAM33内、即ち、上述の記憶部に記憶されている。
 図15は、本発明による第2実施例において用いられているニューラルネットワークの変形例を示している。この変形例では、出力層(L=4)が二個のノードを有している。
この変形例では、図13に示される例と同様に、入力値xが機関回転数とされており、入力値xがアクセル開度とされており、入力値xが外気温とされている。一方、この変形例では、一方の出力量yが、図13に示される例と同様に、内燃機関の出力トルクとされており、他方の出力量yが、内燃機関の熱効率とされている。この熱効率は、実際に機関を運転したときの機関回転数、機関負荷、吸入空気圧、吸入空気温、排気ガス圧、排気ガス温、機関冷却水温等の検出値に基づいて算出され、従って、この熱効率は実測により得られた値を示している。この変形例でも、出力層(L=4)の各ノードでは、活性化関数として恒等関数が用いられている。更に、この変形例では、誤差関数Eとして、内燃機関の出力トルクの実測値および熱効率の実測値を教師データとした前式(8)に示される二乗和誤差Eが用いられ、誤差逆伝播法を用いて、誤差関数Eの値が減少するように、重みwの値が更新される。
  図15に示されるようにニューラルネットワークの出力層(L=4)が複数個のノードを有する場合においても、出力層(L=4)の一つ前の隠れ層 ( L=3) のノードの出力値z、z、z、zによって、出力層(L=4)の各ノードから出力される関数の形が定まる。即ち、各出力値y、yがどのような関数で表現できるかは、出力層(L=4)の一つ前の隠れ層 ( L=3) のノードの個数によって支配される。従って、図15に示されるようなニューラルネットワークにおいて、隠れ層のノードの個数を増大するときには、出力層(L=4)の一つ前の隠れ層 ( L=3) のノードの個数が増大せしめられる。
 図16および図17は、本発明による機械学習装置の第3実施例を示している。この第3実施例でも、内燃機関に関する運転パラメータが複数の種別の運転パラメータからなり、内燃機関に関する複数の種別の運転パラメータの値に基づいて、ニューラルネットワークの重みの学習が行われる。この第3実施例でも、内燃機関に関する複数の種別の運転パラメータの夫々について、各種別の運転パラメータの値の範囲が予め設定されている。図17は一例として、内燃機関に関する運転パラメータが二つの種別の運転パラメータからなる場合を示しており、図17において、一方の種別の運転パラメータの値の予め設定されている範囲がRx で、他方の種別の運転パラメータの値の予め設定されている範囲がRy で示されている。この第3実施例では、図17に示されるように、各種別の運転パラメータの値の予め設定されている範囲Rx、Ry を複数個に区分けすると共に、各種別の運転パラメータの値の区分けされた各区分け範囲の組み合わせにより画定される複数の区分け領域〔Xn,Ym〕(n=1,2・・・n、m=1,2・・・m)が予め設定されている。
 なお、図17において、X1,X2・・・XnおよびY1,Y2・・・Ynは、夫々各種別の運転パラメータの値の区分け範囲を示している。また、この第3実施例には、具体的な一例として、内燃機関の運転パラメータが機関回転数および外気温からなり、これら内燃機関の運転パラメータの値に基づいて、内燃機関からのHC排出量を推定するニューラルネットワークモデルを作成する場合が示されている。この場合には、X1,X2・・・Xnが、例えば1000rpm毎に区切られた機関回転数(1000rpm≦X1<200rpm、2000rpm≦X2<3000rpm・・・)を示しており、Y1,Y2・・・Ynが、例えば10℃毎に区切られた外気温(-30℃≦Y1<―20℃、―20℃≦Y2<-10℃・・・)を示している。
 この第3実施例では、各区分け領域〔Xn,Ym〕毎に、夫々、独立したニューラルネットワークが作成されている。これらのニューラルネットワークでは、入力層 ( L=1) は2個のノードからなり、入力層 ( L=1) の各ノードに、機関回転数を示す入力値x1および外気温を示す入力値x2 が入力される。また、隠れ層(L=2、L=3)の層数は、1個又は任意の個数とすることができ、隠れ層(L=2、L=3)のノードの数も任意の個数とすることができる。なお、いずれのニューラルネットワークにおいても、出力層(L=4)のノードの数は1個とされている。なお、この第3実施例でも、変形例として、出力層(L=4)のノードの数を2個にすることができる。この場合、例えば、出力層(L=4)の一方のノードからの出力量が内燃機関からのHC排出量とされ、出力層(L=4)の他方のノードからの出力量が内燃機関からのNO排出量とされる。
 この第3実施例では、隠れ層(L=3)のノードの数は、ニューラルネットワーク毎に異なり、以下、区分け領域〔Xn,Ym〕におけるニューラルネットワークの出力層の一つ前の隠れ層のノードの個数をKnmで表す。この隠れ層のノードの個数Knmは、各区分け領域〔Xn,Ym〕内での入力値の変化に対する教師データの変化の複雑さに応じて、事前に設定されている。なお、この第3実施例では、図1に示されるNOセンサ23に変えてHCセンサが排気通路内に配置される。この第3実施例では、このHCセンサによって機関からのHC排出量が実測され、この実測により得られたHC排出量が教師データとされる。なお、上述の第3実施例の変形例では、図1に示されるNOセンサ23に加えてHCセンサが排気通路内に配置される。
 この第3実施例では、内燃機関に関する複数の種別の運転パラメータの値の予め設定されている範囲Rx、Ry 内に形成されている各区分け領域〔Xn,Ym〕(n=1,2・・・n、m=1,2・・・m)内の種々の入力値x1、x2 に対して実測されたHC排出量が教師データとして事前に求められており、即ち、予め設定されている範囲Rx、Ry内における内燃機関に関する複数の種別の運転パラメータの値に対して実測により教師データが事前に求められており、これら内燃機関に関する複数の種別の運転パラメータの値および教師データから、隠れ層のノードの個数Knmも含めて各区分け領域〔Xn,Ym〕に対するニューラルネットワークの構造が決定され、出力値yと内燃機関に関する複数の種別の運転パラメータの値2に対応した教師データとの差が小さくなるように、各区分け領域〔Xn,Ym〕のニューラルネットワークの重みが事前に学習される。従って、この第3実施例では、この事前に学習の行われた区分け領域〔Xn,Ym〕(n=1,2・・・n、m=1,2・・・m)を、以下、学習済み区分け領域〔Xn,Ym〕と称することもある。なお、この予め設定されている範囲Rx、Ry 内における内燃機関に関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データは電子制御ユニット30の記憶部に記憶される。この第3実施例でも、各区分け領域〔Xn,Ym〕について、事前学習において用いられたニューラルネットワークと同じ構造のニューラルネットワークを用い、学習が完了したときのニューラルネットワークの重みを用いて、車両運転中にオンボードで更に学習が行われる。図16は、このオンボードで行われる第3実施例の学習処理ルーチンを示しており、この学習処理ルーチンは一定時間毎の、例えば、一秒毎の割り込みによって実行される。
 図16を参照すると、まず初めに、ステップ301において、電子制御ユニット30の記憶部に記憶されている学習済みの重みと、事前の学習において用いられていた教師データ、即ち、予め設定されている範囲Rx、Ry 内における内燃機関に関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データと、各学習済み区分け領域〔Xn,Ym〕(n=1,2・・・n、m=1,2・・・m)が読み込まれる。この学習済みの重みは、重みの初期値として用いられる。次いで、ステップ302では、各学習済み区分け領域〔Xn,Ym〕に対し事前の学習において用いられていた出力層の一つ前の隠れ層のノードの個数Knmが読み込まれる。次いで、ステップ303に進んで、新たな入力値x1、x2、即ち、新たな内燃機関に関する複数の種別の運転パラメータの値が取得され、この新たな入力値x1、x2、即ち、新たな内燃機関に関する複数の種別の運転パラメータの値は、電子制御ユニット30の記憶部に記憶される。更に、ステップ303では、新たな入力値x1、x2 に対するHC排出量の実測値が教師データとして、電子制御ユニット30の記憶部に記憶される。即ち、ステップ303では、新たに取得された内燃機関に関する複数の種別の運転パラメータの値に対し実測により得られた教師データが電子制御ユニット30の記憶部に記憶される。
 次いで、ステップ304では、新たな入力値x1、x2が、学習済み区分け領域〔Xn,Ym〕内にあるか否かが、即ち、新たに取得された内燃機関に関する複数の種別の運転パラメータの値が予め設定されている範囲Rx、Ry 内にあるか否かが判別される。新たな入力値x1、x2 が、学習済み区分け領域〔Xn,Ym〕内にあるとき、即ち、新たに取得された内燃機関に関する複数の種別の運転パラメータの値が予め設定されている範囲Rx、Ry 内あるときには、ステップ305に進んで、入力値x1、x2、即ち、新たに取得された内燃機関に関する複数の種別の運転パラメータの値 が、新たに取得された内燃機関に関する複数の種別の運転パラメータの値の属する学習済み区分け領域〔Xn,Ym〕のニューラルネットワークの入力層の各ノードに入力され、ニューラルネットワークの出力層のノードから出力された出力値yと、新たに取得された内燃機関に関する複数の種別の運転パラメータの値に対し実測により求められた教師データとに基づき、誤差逆伝播法を用いて、出力値yと教師データとの差が小さくなるように、新たに取得された内燃機関に関する複数の種別の運転パラメータの値の属する学習済み区分け領域〔Xn,Ym〕のニューラルネットワークの重みが更に学習される。
 一方、ステップ304において、新たな入力値x1、x2が、学習済み区分け領域〔Xn,Ym〕内にないと判別されたとき、例えば、図17において入力値x1、x2が属しかつ入力値x1、x2の予め設定された範囲の組み合わせにより画定される未学習領域〔Xa,Yb〕が、学習済み区分け領域〔Xn,Ym〕外に設定される。即ち、言い換えると、新たに取得された内燃機関に関する複数の種別の運転パラメータの内の少なくとも一つの種別の運転パラメータの値が予め設定されている範囲Rx、Ry 外であるときには、各種別の運転パラメータの値が属しかつ各種別の運転パラメータの値の予め設定された範囲の組み合わせにより画定される未学習領域〔Xa,Yb〕が、予め設定されている範囲Rx、Ry 外に設定される。
 図17に示される例は、新たに取得された内燃機関に関する一方の種別の運転パラメータの値が予め設定されている範囲Rx 外であり、新たに取得された内燃機関に関する他方の種別の運転パラメータの値が予め設定されている範囲Ry 内における区分け範囲Y2に属している場合を示しており、この場合には、この未学習領域〔Xa,Yb〕は、一方の種別の運転パラメータの値に対し予め設定されている範囲Rx 外であって、他方の種別の運転パラメータの値が属している区分け範囲Y2内に、該区分け範囲Y2内の学習済み区分け領域〔Xn,Ym〕に隣接して設定される。
 未学習領域〔Xa,Yb〕が設定されると、ステップ306に進む。ステップ306では、初めに、新たな入力値x1、x2 の属する未学習領域〔Xa,Yb〕内における教師データ密度Dが算出される。この教師データ密度D(=教師データ個数/〔Xa,Yb〕)は、教師データの個数を未学習領域〔Xa,Yb〕の面積、即ち、各種別の運転パラメータの値の予め設定された範囲の積で除した値を示している。次いで、教師データ密度Dが予め定められたデータ密度Dよりも高くなったか否か、および、新たな入力値x1、x2 の属する新領域〔Xa,Yb〕内における教師データの分散S が予め定められた分散S よりも大きいか否か判別される。教師データ密度Dが予め定められたデータ密度Dよりも低い場合、又は、教師データの分散S が予め定められた分散S  よりも小さい場合には処理サイクルを完了する。
 一方、ステップ306において、教師データ密度Dが予め定められたデータ密度Dよりも高く、かつ教師データの分散S が予め定められた分散S  よりも大きいと判別されたときにはステップ307に進む。なお、ステップ306においては、分散S が予め定められた分散S よりも大きいか否かの判別については省略し、教師データ密度Dが予め定められたデータ密度Dよりも高くなったか否かのみを判断することもできる。この場合には、教師データ密度Dが予め定められたデータ密度Dよりも低い場合には処理サイクルを完了し、教師データ密度Dが予め定められたデータ密度Dよりも高いと判別されたときにはステップ307に進む。ステップ307では、下記のノード数算出式に基づいて、未学習領域〔Xa,Yb〕周りの学習済み区分け領域〔Xn,Ym〕におけるノード数Knmの平均値から、未学習領域〔Xa,Yb〕に対するノード数Kabが算出される。
 ノード数Kab=1/NΣΣKij(i=(a-1)~(a+1)、j=(b-1)~(b+1))
 なお、上式において、Nは、未学習領域〔Xa,Yb〕周りに隣接して存在する学習済み区分け領域〔Xn,Ym〕の個数を示している。この場合、未学習領域〔Xa,Yb〕周りの隣接する区分け領域〔Xn,Ym〕の中で、未だ使用されていない区分け領域〔Xn,Ym〕、即ち、ノード数Knmの存在しない区分け領域〔Xn,Ym〕がある場合には、その区分け領域〔Xn,Ym〕は、個数Nの算出から除外される。例えば、図15に示される例で言うと、未学習領域〔Xa,Yb〕周りの隣接する学習済み区分け領域〔Xn,Y1〕のノード数Kn1、学習済み区分け領域〔Xn,Y2〕のノード数Kn2および学習済み区分け領域〔Xn,Y3〕の ノード数Kn3 の平均値が、未学習領域〔Xa,Yb〕に対するノード数Kabとされる。
 ところで、各区分け領域〔Xn,Ym〕内での入力値の変化に対する教師データの変化の関係が単純である場合には、隠れ層のノードの個数Knmを少なくしても十分に学習を行うことができるが、各区分け領域〔Xn,Ym〕内での入力値の変化に対する教師データの変化の関係が複雑である場合には、隠れ層のノードの個数Knmを多くしないと十分な学習を行うことができない。従って、前述したように、学習済み区分け領域〔Xn,Ym〕におけるニューラルネットワークの隠れ層のノードの個数Knmは、各学習済み区分け領域〔Xn,Ym〕内での入力値の変化に対する教師データの変化の複雑さに応じて設定される。ところで、二つの区分け領域〔Xn,Ym〕が近い場合には、これら区分け領域〔Xn,Ym〕間では、入力値の変化に対する教師データの変化の関係が似ており、従って、二つの区分け領域〔Xn,Ym〕が近い場合には、隠れ層のノードの個数Knmとして同じ個数を用いることができる。従って、この第3実施例では、未学習領域〔Xa,Yb〕周りの隣接する学習済み区分け領域〔Xn,Ym〕におけるノード数Knmの平均値が、未学習領域〔Xa,Yb〕に対するノード数Kabとされる。
 ここで、第3実施例の変形例として、未学習領域〔Xa,Yb〕における教師データの個数を考慮に入れて、未学習領域〔Xa,Yb〕に対するノード数Kabを求める方法について簡単に説明する。即ち、未学習領域〔Xa,Yb〕における教師データ個数が、未学習領域〔Xa,Yb〕周りの隣接する学習済み区分け領域〔Xn,Ym〕における教師データ個数よりも多い場合には、未学習領域〔Xa,Yb〕に対するノード数Kabは、未学習領域〔Xa,Yb〕周りの隣接する学習済み区分け領域〔Xn,Ym〕におけるノード数Knmよりも多くすることが好ましい。従って、この変形例では、未学習領域〔Xa,Yb〕周りの隣接する学習済み領域〔Xn,Ym〕における教師データ個数の平均値MDを求め、未学習領域〔Xa,Yb〕における入力データ個数MNを平均値MDで除算することにより、ノード数増大率RK(=MN/MD)を求め、上述のノード数算出式から求められた未学習領域〔Xa,Yb〕に対するノード数Kabに、このノード数増大率RKを乗算して、最終的な未学習領域〔Xa,Yb〕に対するノード数Kabとされる。
 ステップ307において未学習領域〔Xa,Yb〕に対するノード数Kabが算出されると、ステップ308に進んで、未学習領域〔Xa,Yb〕に対する新たなニューラルネットワークが作成される。この新たなニューラルネットワークでは、ノードの個数が、入力層については2個、出力層の一つ前の隠れ層についてはKab個、出力層については1個又は複数個とされる。次いで、ステップ305に進む。ステップ305では、未学習領域〔Xa,Yb〕について、出力値yと教師データとの差が小さくなるように、未学習領域〔Xa,Yb〕に対し作成されたニューラルネットワークの重みが学習される。
 次に、図18Aから図19Bを参照しつつ、本発明による機械学習装置を、低負荷用の特殊な内燃機関に適用した場合の具体例について説明する。この具体例では、図12に示されるように、隠れ層(L=3)が4個のノードを有するニューラルネットワークを用いて、スロットル弁12の開度、機関回転数および点火時期から、NO排出量を示す出力値yを出力するモデルを作成するようにしている。なお、この具体例において用いられている内燃機関では、スロットル弁12の開度の使用範囲が、5.5°から11.5°(最大閉弁位置におけるスロットル弁12の開度を0°としている)の間に設定されており、機関回転数の使用範囲が、1600(rpm)から3000(rpm)の間に設定されており、点火時期の使用範囲が0°(圧縮上死点)からATDC(圧縮上死点前)40°の間に設定されている。
 図18Aは、点火時期と機関回転数に対する教師データの分布を示しており、図18Bは、スロットル弁開度と点火時期に対する教師データの分布を示している。なお、図18Aおよび図18Bにおいて、黒丸は、事前に取得されている教師データの存在場所を示しており、三角印は事前に教師データが取得されていない場所を示している。図18Aおよび図18Bから、いかなるスロットル弁開度と、いかなる機関回転数と、いかなる点火時期に対して事前に教師データが取得されているかがわかる。例えば、図18Aにおいて機関回転数Nが2000(rpm)で、点火時期がATDC20°のときには、事前に教師データが取得されており、図18Bに示されるように、点火時期がATDC20°のときには、種々のスロットル弁開度に対して、事前に教師データが取得されていることがわかる。
 一方、この具体例では、スロットル弁開度、機関回転数および点火時期がニューラルネットワークの入力層 ( L=1) の各ノードに入力され、出力値yと、NOXセンサ23により検出されたNO排出量を示す教師データとの差が小さくなるように、ニューラルネットワークの重みが学習される。学習後の出力値yと、教師データとの関係が、図18C、図19Aおよび図19Bに示されている、なお、図18C、図19Aおよび図19Bでは、学習後の出力値yおよび教師データの値は、最大値が1となるように正規化して示されている。
 さて、上述したように、この具体例において用いられている内燃機関では、スロットル弁12の開度の使用範囲が、5.5°から11.5°の間に設定されており、機関回転数Nの使用範囲が、1600(rpm)から3000(rpm)の間に設定されており、点火時期の使用範囲が0°(圧縮上死点)からATDC40°の間に設定されている。図18Cには、これらの使用範囲内において、スロットル弁開度、機関回転数Nおよび点火時期が使用されたときのNO排出量を、教師データとして事前に取得し、出力値yと、事前に取得された教師データとの差が小さくなるように、ニューラルネットワークの重みが学習されたときの、学習後の出力値yと、教師データとの関係が丸印で示されている。
 図18Cに示されるように、学習後の出力値yと、教師データとの関係を示す丸印は、一直線上に集まっており、従って、学習後の出力値yが、教師データに一致せしめられていることがわかる。ところで、例えば、スロットル弁12の開度を例に挙げると、エンジンの個体差や経年変化によって、スロットル弁12の開度が正規の開度からずれてしまい、スロットル弁12の開度の使用範囲が、5.5°から11.5°の間に設定されていたとしても、実際には、スロットル弁12の開度が、予め設定されている使用範囲を越えてしまうことがある。図18Aおよび図18Bに示される三角印は、スロットル弁12の開度が予め設定されている使用範囲を越えて13.5°となってしまったときに、新たに取得された教師データの場所を示している。
 図18Cの三角印は、このようにスロットル弁12の開度が予め設定されている使用範囲を越えて13.5°となってしまったときに、新たに取得された教師データを用いず、事前に取得されている教師データのみを用いて、ニューラルネットワークの重みの学習を行った場合を示している。この場合には、スロットル弁12の開度が予め設定されている使用範囲を越えて13.5°となってしまったときのNO排出量の推定値が、実測値から大巾にずれてしまうことがわかる。一方、図19Aの丸印は、このようにスロットル弁12の開度が予め設定されている使用範囲を越えて13.5°となってしまったときに取得された新たな教師データと、事前に取得されている教師データとの双方の教師データを用いて、ニューラルネットワークの重みの学習を行った場合を示している。この場合には、NO排出量の推定値が、全体的に実測値からずれてしまうことがわかる。
 これに対し、図19Bの丸印は、図19Aと同様に、スロットル弁12の開度が予め設定されている使用範囲を越えて13.5°となってしまったときに取得された新たな教師データと、事前に取得されている教師データとの双方の教師データを用い、図19Aとは異なり、ニューラルネットワークの隠れ層(L=3)のノードの数を4個から7個に増大した上で、ニューラルネットワークの重みの学習を行った場合を示している。この場合には、NO排出量の推定値が、実測値に精度よく一致することがわかる。このように、新たに取得された機関の運転パラメータの値が予め設定されている範囲外であるときには、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させることによって、推定精度を高めることができる。
 図20から図25は、本発明による機械学習装置を、エアコン(エアコンディショナー)の自動調整に適用した場合の第4実施例を示している。この実施例では、気温、湿度、位置およびエアコンの取り付けられている部屋の大きさから、最適なエアコンの風量、風向きおよび運転時間が自動的に設定される。この場合、エアコンの使用される条件や場所の範囲、即ち、気温、湿度、位置およびエアコンの取り付けられている部屋の大きさ等の運転パラメータの値の使用範囲は、エアコンの種類に応じて予め想定することができ、従って、通常は、エアコンの運転パラメータの値の予め設定さている範囲に対し、ニューラルネットワークの出力値と、最適なエコンの風量、風向きおよび運転時間との差が小さくなるようにニューラルネットワークの重みが予め学習される。
 しかしながら、この場合にも、エアコンの運転パラメータの値が、予め設定さている範囲外となることがあり、この場合、予め設定さている範囲外に対しては、実際の値に基づく学習が行われていないために、ニューラルネットワークを用いて演算された出力値が、実際の値から大きく乖離した値になってしまうことになる、そこでこの実施例においても、新たに取得されたエアコンに関する運転パラメータの値が予め設定されている範囲外であるときには、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させるか、又は、ニューラルネットワークの個数を増大して、新たに取得されたエアコンに関する運転パラメータの値に対して得られた教師データおよび予め設定されている範囲内におけるエアコンに関する運転パラメータの値に対して得られている教師データを用いてニューラルネットワークの重みが学習される。
 次に、この第4実施例について具体的に説明する。図20を参照すると、50は、エアコン本体、51はエアコン本体50内に配置された送風モータ、52はエアコン本体50内に配置された風向き調整モータ、53は気温を検出するための温度計、54は大気の湿度を検出するための湿度計、55は、エアコンの設置されている位置を検出するためのGPS、56は、図1に示す電子制御ユニット30と同様な構成を有する電子制御ユニットを夫々示す。図20に示されるように、温度計53により検出された気温、湿度計54により検出された大気の湿度およびGPS55によりを検出された位置情報が電子制御ユニット56に入力され、電子制御ユニット56からは最適なエアコンの風量を得るための送風モータ51の駆動信号および、最適なエアコンの風向きを得るための風向き調整モータ52の駆動信号が出力される。なお、エアコンの取り付けられている部屋の大きさは、例えば、電子制御ユニット56に手入力される。
 図21は、この第4実施例において用いられているニューラルネットワークを示している。この第4実施例では、図21に示されるように、ニューラルネットワークの入力層 ( L=1) は4個のノードからなり、各ノードに、気温を示す入力値x、湿度示す入力値x、位置を示す入力値xおよびエアコンの取り付けられている部屋の大きさを示す入力値x が入力される。また、隠れ層(L=2、L=3)の層数は、1個又は任意の個数とすることができ、隠れ層(L=2、L=3)のノードの数も任意の個数とすることができる。また、この第4実施例では、出力層(L=4)が3個のノードからなり、各ノードからは、エアコンの風量を示す出力値y、エアコンの風向きを示す出力値yおよびエアコンの運転時間を示す入力値yが出力される。
 一方、図22Aにおいて、AとB との間、即ち、Rは気温の予め設定されている範囲(例えば、-5℃~40℃)を示しており、AとBとの間、即ち、Rは湿度の予め設定されている範囲(例えば、30%~90%)を示しており、AとBとの間、即ち、Rは位置(例えば、北緯20度と46度との間)の予め設定されている範囲を示しており、AとB との間、即ち、Rはエアコンの取り付けられている部屋の大きさの予め設定されている範囲を示している。なお、図22Bも、図22Aと同様に、AとB との間は気温の予め設定されている範囲を示しており、AとBとの間は湿度の予め設定されている範囲を示しており、AとBとの間は位置の予め設定されている範囲を示しており、AとB との間はエアコンの取り付けられている部屋の大きさの予め設定されている範囲を示している。
 この第4実施例でも、予め設定されている範囲Rn内の種々の入力値x(n= 1,2,3、4)に対して、実測された最適なエアコンの風量、風向きおよび運転時間が教師データとして事前に求められており、即ち、予め設定されている範囲Rn内におけるエアコンに関する複数の種別の運転パラメータの値に対して実測により教師データが事前に求められており、これらエアコンに関する複数の種別の運転パラメータの値および教師データからニューラルネットワークの構造が決定され、各出力値y、y、yと、エアコンに関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが事前に学習される。この予め設定されている範囲Rn内におけるエアコンに関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データは電子制御ユニット56の記憶部に記憶される。
 この第4実施例でも、事前学習において用いられたニューラルネットワークと同じ構造のニューラルネットワークを用い、学習が完了したときのニューラルネットワークの重みを用いて、車両運転中にオンボードで更に学習が行われる。図23は、このオンボードで行われる第4実施例の学習処理ルーチンを示しており、この学習処理ルーチンは一定時間毎の、例えば、一秒毎の割り込みによって実行される。なお、図23に示される学習処理ルーチンの各ステップにおいて行われる処理は、入力値の種別と入力値の個数、および出力値の種別と出力値の個数が異なる点を除くと、図12に示される学習処理ルーチンの各ステップにおいて行われる処理と同じである。
 即ち、図23を参照すると、まず初めに、ステップ401において、電子制御ユニット56の記憶部に記憶されている学習済みの重みと、事前の学習において用いられていた教師データ、即ち、予め設定されている範囲Rn内におけるエアコンに関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データと、入力データの範囲、即ち、エアコンに関する複数の種別の運転パラメータの値の予め設定されている範囲を示す値An,Bn(n= 1,2,3、4)(図22A)が読み込まれる。この学習済みの重みは、重みの初期値として用いられる。次いで、ステップ402では、事前の学習において用いられていたニューラルネットワークの出力層の一つ前の隠れ層のノードの個数Kが読み込まれる。次いで、ステップ403に進んで、新たな入力値x、即ち、新たなエアコンに関する複数の種別の運転パラメータの値が取得され、この新たな入力値x、即ち、新たなエアコンに関する複数の種別の運転パラメータの値は、電子制御ユニット56の記憶部に記憶される。更に、ステップ403では、新たな入力値xに対するエアコンの風量、風向きおよび運転時間の実測値が教師データとして、電子制御ユニット56の記憶部に記憶される。即ち、ステップ403では、新たに取得されたエアコンに関する複数の種別の運転パラメータの値に対し実測により得られた教師データが電子制御ユニット56の記憶部に記憶される。
 次いで、ステップ404では、新たな入力値x、即ち、新たに取得されたエアコンに関する複数の種別の運転パラメータの値が、予め設定されている範囲Rn(AnとBnとの間)内にあるか否か、即ち、新たな入力値xがAn以上であり、Bn以下であるか否かが判別される。新たな入力値xが、予め設定されている範囲Rn内にあるときには、ステップ405に進んで、各入力値x、即ち、新たに取得されたエアコンに関する複数の種別の運転パラメータの値がニューラルネットワークの入力層の対応するノードに入力され、ニューラルネットワークの出力層のノードから出力された出力値y、y、yと、新たに取得されたエアコンに関する複数の種別の運転パラメータの値に対し実測により求められた教師データとに基づき、誤差逆伝播法を用いて、出力値y、y、yと教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。
 一方、ステップ404において、新たな入力値x、即ち、新たに取得されたエアコンに関する複数の種別の運転パラメータの値の内の少なくとも一つの種別の運転パラメータの値が、予め設定されている範囲Rn(AnとBnとの間)内にないと判別されたとき、例えば、図22Bにおいて気温を示す入力値xが、BからC(B<C)までの予め設定されている範囲(B~C)内にあるような場合、或いは図22Bにおいて位置を示す入力値xが、CからA(C<A)までの予め設定されている範囲(C~A)内にあるような場合には、ステップ406に進む。ステップ406では、最初に、新たな入力値xの属する範囲(B~C)或いは範囲(C~A)内における新たな入力値xに対する教師データの密度D(=教師データ個数/(C―B)、或いは教師データ個数/(A―C))が算出される。この教師データ密度Dの定義については、前述した通りである。ステップ406では、教師データ密度Dが算出されると、教師データ密度Dが予め定められたデータ密度Dよりも高くなったか否かが判別される。教師データ密度Dが予め定められたデータ密度Dよりも低い場合には処理サイクルを完了する。
 一方、ステップ406において、教師データ密度Dが予め定められたデータ密度Dよりも高くなったと判別されたときにはステップ407に進む。この場合、D(=教師データ個数/(A―C))>D のときには、次式により追加ノード数αが算出される。
 追加ノード数α=round{ (K/(Bn-An))・(An-Cn)}
 一方、D(=教師データ個数/(C―B))>D のときには、次式により追加ノード数αが算出される。
 追加ノード数α=round{ (K/(Bn-An))・(Cn-Bn)}
 なお、上式において、Kはノードの個数を示しており、roundは四捨五入を意味している。
 ステップ407において追加ノード数αが算出されると、ステップ408に進んで、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数Kが更新され、出力層の一つ前の隠れ層のノードの個数Kが、追加ノード数αだけ増大せしめられる(K←K+α)。このように、この第4実施例では、教師データの個数を運転パラメータの値の予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度が増大すると、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数が増大される。即ち、この第4実施例では、教師データの個数を運転パラメータの値の予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数が増大される。
 ステップ408において出力層の一つ前の隠れ層のノードの個数Kが、追加ノード数αだけ増大せしめられる(K←K+α)と、ステップ409に進み、出力層の一つ前の隠れ層のノードの個数Kを増大させるようにニューラルネットワークが更新される。次いで、ステップ405に進む。ステップ405では、新たな入力値xに対して新たに得られた教師データも教師データに含めて、出力値y、y、yと教師データとの差が小さくなるように、更新されたニューラルネットワークの重みが学習される。即ち、ステップ405では、新たに取得されたエアコンに関する複数の種別の運転パラメータの値に対し実測により得られた教師データ、および予め設定されている範囲Rn内におけるエアコンに関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データを用いて、予め設定されている範囲内および予め設定されている範囲外のエアコンに関する複数の種別の運転パラメータの値に応じて変化する出力値y、y、yと、このエアコンに関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるように、更新されたニューラルネットワークの重みが学習される。
 図24および図25は、第4実施例の変形例を示している。この変形例では、エアコンに関する各種別の運転パラメータの値の予め設定されている範囲が複数個に区分けされている。即ち、図24におけるRw、Rx、Ry、Rzは、夫々気温、湿度、位置およびエアコンの取り付けられている部屋の大きさの予め設定されている範囲を示しており、図24に示されるように、気温、湿度、位置およびエアコンの取り付けられている部屋の大きさに対し予め設定されている範囲が複数個に区分けされている。なお、図24において、W、W・・・W, X、X・・・X, Y、Y・・・Y, Z、Z・・・Zは、夫々各種別の運転パラメータの値の区分け範囲を示している。
 更に、この変形例では、各種別の運転パラメータの値の区分けされた各区分け範囲の組み合わせにより画定される複数の区分け領域〔Wi,Xj,Yk、Zl〕(i=1,2・・・n、j=1,2・・・n、k=1,2・・・n、l=1,2・・・n)が予め設定されており、区分け領域〔Wi,Xj,Yk、Zl〕毎に、夫々、独立したニューラルネットワークが作成されている。これらのニューラルネットワークは、図22に示される構造を有する。この場合、隠れ層(L=3)のノードの数は、ニューラルネットワーク毎に異なり、以下、区分け領域〔Wi,Xj,Yk、Zl〕におけるニューラルネットワークの出力層の一つ前の隠れ層のノードの個数をKi,j,k,lで表す。この隠れ層のノードの個数Ki,j,k,l は、各区分け領域〔Wi,Xj,Yk、Zl〕内での入力値の変化に対する教師データの変化の複雑さに応じて、事前に設定されている。
 この変形例では、予め設定されている範囲Rw、Rx、Ry、Rz 内に形成されている各区分け領域〔Wi,Xj,Yk、Zl〕内の種々の入力値x1、x2,x3,x4、即ち、気温、湿度、位置およびエアコンの取り付けられている部屋の大きさに対して実測されたエアコンの風量、風向きおよび運転時間が教師データとして事前に求められており、即ち、予め設定されている範囲Rw、Rx、Ry、Rz内におけるエアコンに関する複数の種別の運転パラメータの値に対して実測により教師データが事前に求められており、これらエアコンに関する複数の種別の運転パラメータの値および教師データから、隠れ層のノードの個数Ki,j,k,lも含めて各区分け領域〔Wi,Xj,Yk、Zl〕に対するニューラルネットワークの構造が決定され、出力値y、y、yと対応する教師データとの差が小さくなるように、各区分け領域〔Wi,Xj,Yk、Zl〕のニューラルネットワークの重みが事前に学習される。
 従って、この変形例では、この事前に学習の行われた区分け領域〔Wi,Xj,Yk、Zl〕を、以下、学習済み区分け領域〔Wi,Xj,Yk、Zl〕と称することもある。なお、この予め設定されている範囲Rw、Rx、Ry、Rz内におけるエアコンに関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データは電子制御ユニット56の記憶部に記憶される。この変形例でも、各区分け領域〔Wi,Xj,Yk、Zl〕について、事前学習において用いられたニューラルネットワークと同じ構造のニューラルネットワークを用い、学習が完了したときのニューラルネットワークの重みを用いて、車両運転中にオンボードで更に学習が行われる。図25は、このオンボードで行われる変形例の学習処理ルーチンを示しており、この学習処理ルーチンは一定時間毎の、例えば、一秒毎の割り込みによって実行される。
 図25を参照すると、まず初めに、ステップ500において、電子制御ユニット56の記憶部に記憶されている学習済みの重みと、事前の学習において用いられていた教師データ、即ち、予め設定されている範囲Rw、Rx、Ry、Rz 内におけるエアコンに関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データと、各学習済み区分け領域〔Wi,Xj,Yk、Zl〕が読み込まれる。この学習済みの重みは、重みの初期値として用いられる。次いで、ステップ501では、各学習済み区分け領域〔Wi,Xj,Yk、Zl〕に対し事前の学習において用いられていた出力層の一つ前の隠れ層のノードの個数Ki,j,k,l が読み込まれる。次いで、ステップ502に進んで、新たな入力値x1、x2、x3,x4、即ち、気温、湿度、位置およびエアコンの取り付けられている部屋の大きさが取得され、この新たな入力値x1、x2、x3,x4、即ち、新たなエアコンに関する複数の種別の運転パラメータの値は、電子制御ユニット56の記憶部に記憶される。更に、ステップ502では、新たな入力値x1、x2、x3,x4対するエアコンの風量、風向きおよび運転時間が教師データとして、電子制御ユニット56の記憶部に記憶される。即ち、ステップ502では、新たに取得されたエアコンに関する複数の種別の運転パラメータの値に対し実測により得られた教師データが電子制御ユニット56の記憶部に記憶される。
 次いで、ステップ503では、新たな入力値x1、x2, x3,x4が、学習済み区分け領域〔Wi,Xj,Yk、Zl〕内にあるか否かが、即ち、新たに取得されたエアコンに関する複数の種別の運転パラメータの値が予め設定されている範囲Rw、Rx、Ry、Rz 内にあるか否かが判別される。新たな入力値x1、x2,x3,x4 が、学習済み区分け領域Rw、Rx、Ry、Rz内にあるとき、即ち、新たに取得されたエアコンに関する複数の種別の運転パラメータの値が予め設定されている範囲Rw、Rx、Ry、Rz 内あるときには、ステップ504に進んで、新たな入力値x1、x2、x3,x4、即ち、新たに取得されたエアコンに関する複数の種別の運転パラメータの値 が、新たに取得されたエアコンに関する複数の種別の運転パラメータの値の属する学習済み区分け領域〔Wi,Xj,Yk、Zl〕のニューラルネットワークの入力層の各ノードに入力され、ニューラルネットワークの出力層のノードから出力された出力値y、y、yと、新たに取得されたエアコンに関する複数の種別の運転パラメータの値に対し実測により求められた教師データとに基づき、誤差逆伝播法を用いて、出力値y、y、yと教師データとの差が小さくなるように、新たに取得された内燃機関に関する複数の種別の運転パラメータの値の属する学習済み区分け領域〔Wi,Xj,Yk、Zl〕のニューラルネットワークの重みが更に学習される。
 一方、ステップ503において、新たな入力値x1、x2, x3,x4が、学習済み区分け領域〔Wi,Xj,Yk、Zl〕内にないと判別されたときには、ステップ505に進んで、初めに、予め設定された範囲Rw、Rx、Ry、Rz外に、新たな入力値x1、x2, x3,x4により画定される未学習領域が設定される。例えば、新たな入力値x2, x3,x4が、対応する予め設定された範囲Rx、Ry、Rz内にあり、新たな入力値x1が対応する予め設定された範囲Rw内にないと判別されたときには、新たな入力値x1の属する範囲をWaとすると、新たな入力値x1、x2, x3,x4により画定される未学習領域〔Wa,Xj,Yk、Zl〕が設定される。また、新たな入力値x3,x4が、対応する予め設定された範囲Ry、Rz内にあり、新たな入力値x1,x2が対応する予め設定された範囲Rw、Rx内にないと判別されたときには、新たな入力値x1の属する範囲をWaとし、新たな入力値x2の属する範囲をXbとすると、新たな入力値x1、x2, x3,x4により画定される未学習領域〔Wa,Xb,Yk、Zl〕が設定される。
 次いで、ステップ505では、未学習領域〔Xa,Yb〕に対する新たなニューラルネットワークが作成される。ステップ505において、新たなニューラルネットワークが作成されると、ステップ504に進む。ステップ504では、未学習領域について、出力値y、y、yと教師データとの差が小さくなるように、未学習領域に対し作成された新たなニューラルネットワークの重みが学習される。
 図26から図33は、本発明による機械学習装置を、2次電池の劣化度の推定に適用した場合の第5実施例を示している。この実施例では、気温、2次電池の温度、2次電池の放電時間および2次電池の単位時間当たりの放電エネルギから、2次電池の劣化度が検出される。この場合、2次電池の使用条件および使用態様の範囲、即ち、気温、2次電池の温度、2次電池の放電時間および2次電池の単位時間当たりの放電エネルギ等の2次電池の運転パラメータの値の使用範囲は、2次電池の種類に応じて予め想定することができ、従って、通常は、2次電池の運転パラメータの値の予め設定さている範囲に対し、ニューラルネットワークの出力値と、実測された2次電池の劣化度との差が小さくなるようにニューラルネットワークの重みが予め学習される。
 しかしながら、この場合にも、2次電池の運転パラメータの値が、予め設定さている範囲外となることがあり、この場合、予め設定さている範囲外に対しては、実際の値に基づく学習が行われていないために、ニューラルネットワークを用いて演算された出力値が、実際の値から大きく乖離した値になってしまうことになる、そこでこの実施例においても、新たに取得された2次電池に関する運転パラメータの値が予め設定されている範囲外であるときには、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させるか、又は、ニューラルネットワークの個数を増大して、新たに取得された2次電池に関する運転パラメータの値に対して得られた教師データおよび予め設定されている範囲内における2次電池に関する運転パラメータの値に対して得られている教師データを用いてニューラルネットワークの重みが学習される。
 次に、この第5実施例について具体的に説明する。図26を参照すると、60は、2次電池、61は電動モータ、62は電動モータ61の駆動制御装置、63は2次電池60の出力端子間電圧を検出するための電圧計、64は2次電池60から駆動制御装置62を介して電動モータ61へ供給される電流を検出するための電流計、65は気温を検出するための温度計、66は2次電池60の温度を検出するための温度センサ、67は、図1に示す電子制御ユニット30と同様な構成を有する電子制御ユニットを夫々示す。図26に示されるように、電流計53により検出された電動モータ61への供給電流、電圧計64により検出された2次電池60の出力端子間電圧、温度計65により検出された気温および温度センサ66により検出された2次電池60の温度が電子制御ユニット56に入力され、電子制御ユニット56内では2次電池60の劣化度の推定値が算出される。なお、電子制御ユニット56内では、電流計64の検出値に基づき2次電池60の放電時間が求められており、電流計64の検出値および電圧計63の検出値に基づき2次電池60の単位時間当たりの放電エネルギ(電流・電圧)が求められている。
 図27は、この第5実施例において用いられているニューラルネットワークを示している。この第5実施例では、図27に示されるように、ニューラルネットワークの入力層 ( L=1) は4個のノードからなり、各ノードに、気温を示す入力値x、2次電池60の温度示す入力値x、2次電池60の放電時間xおよび2次電池60の単位時間当たりの放電エネルギを示す入力値x が入力される。また、隠れ層(L=2、L=3)の層数は、1個又は任意の個数とすることができ、隠れ層(L=2、L=3)のノードの数も任意の個数とすることができる。また、この第4実施例では、出力層(L=4)のノードは1個とされ、このノードからは、2次電池20の劣化度を示す出力値yが出力される。
 一方、図28Aにおいて、AとB との間、即ち、Rは気温の予め設定されている範囲(例えば、-5℃~40℃)を示しており、AとBとの間、即ち、Rは2次電池60の温度の予め設定されている範囲(例えば、-40℃~40℃)を示しており、AとBとの間、即ち、Rは2次電池60の放電時間の予め設定されている範囲を示しており、AとB との間、即ち、Rは2次電池60の単位時間当たりの放電エネルギの予め設定されている範囲を示している。なお、図28Bも、図28Aと同様に、AとB との間は気温の予め設定されている範囲を示しており、AとBとの間は2次電池60の温度の予め設定されている範囲を示しており、AとBとの間は2次電池60の放電時間の予め設定されている範囲を示しており、AとB との間は2次電池60の単位時間当たりの放電エネルギの予め設定されている範囲を示している。
 ここで、気温、2次電池60の温度、2次電池60の放電時間および2次電池60の単位時間当たりの放電エネルギと、2次電池60の劣化度の関係について簡単に説明する。さて、2次電池60は劣化するほど内部抵抗が高くなり、従って、内部抵抗の変化から2次電池60の劣化度を推定することができる。しかしながら、実際には、内部抵抗を検出するのは困難である。一方、放電電流が一定の場合、内部抵抗が高くなるほど2次電池60の発熱量が増大し、従って、内部抵抗が高くなるほど、即ち、2次電池60の劣化するほど、2次電池60の温度が高くなる。従って、2次電池60の温度上昇量に基づいて、2次電池60の劣化度を推定することができる。この場合、2次電池60の温度上昇量は気温の影響を受け、また、2次電池60の放電時間および2次電池60の単位時間当たりの放電エネルギに左右される。従って、2次電池60の劣化度は、気温、2次電池60の温度、2次電池60の放電時間および2次電池60の単位時間当たりの放電エネルギから求まり、従って、気温、2次電池60の温度、2次電池60の放電時間および2次電池60の単位時間当たりの放電エネルギから、2次電池60の劣化度を推定できることになる。
 一方、2次電池60が劣化すると、2次電池60への充電量が減少する。この場合、2次電池60への充電が完了した直後に2次電池60の回路を閉ループにしたとき、2次電池60の出力端子間には、2次電池60への充電量に比例した電圧が現れる。即ち、2次電池60への充電が完了した直後に電圧計64により検出された2次電池60の出力端子間電圧は、2次電池60への充電量に比例している。従って、2次電池60への充電が完了した直後の電圧計64の検出電圧から2次電池60の劣化度を検出することができる。従って、この第5実施例では、2次電池60への充電が完了した直後の電圧計64の検出電圧から検出された2次電池60の劣化度を、出力値yの教師データとして用いている。
 次に、図29および図30を参照しつつ、電子制御ユニット67内において実行されている2次電池60の放電時間等の算出ルーチンと、教師データの取得処理ルーチンについて説明する。算出ルーチンを示す図29を参照すると、ステップ600では、電流計64の出力値から2次電池60の放電時間が算出される。次いで、ステップ601では、電流計64の出力値および電圧計63の出力値から2次電池60の単位時間当たりの放電エネルギが算出される。
 一方、教師データの取得処理ルーチンを示す図30を参照すると、まず初めに、ステップ610において、2次電池60への充電処理が行われているか否かが判別される。2次電池60への充電処理が行われていないときには処理サイクルを完了する。これに対し、2次電池60への充電処理が行われているときには、ステップ611に進んで2次電池60への充電が完了したか否かが判別される。2次電池60への充電が完了したと判別されたときには、ステップ612に進んで、教師データを要求するときにセットされる教師データ要求フラグがセットされているか否かが判別される。この教師データ要求フラグについては後述する。教師データ要求フラグがセットされていないときには処理サイクルを完了する。これに対し、教師データ要求フラグがセットされているときには、ステップ613に進んで、電圧計64の検出電圧から2次電池60の劣化度が検出される。次いで、ステップ614に進んで、追加学習フラグがセットされる。
 この第5実施例でも、予め設定されている範囲Rn内の種々の入力値x(n= 1,2,3、4)、即ち、気温、2次電池60の温度、2次電池60の放電時間および2次電池60の単位時間当たりの放電エネルギに対する2次電池60の劣化度が教師データとして事前に求められており、即ち、予め設定されている範囲Rn内における2次電池60に関する複数の種別の運転パラメータの値に対して実測により教師データが事前に求められており、これら2次電池60に関する複数の種別の運転パラメータの値および教師データからニューラルネットワークの構造が決定され、出力値yと、2次電池60に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが事前に学習される。この予め設定されている範囲Rn内における2次電池60に関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データは電子制御ユニット67の記憶部に記憶される。
 この第5実施例でも、事前学習において用いられたニューラルネットワークと同じ構造のニューラルネットワークを用い、学習が完了したときのニューラルネットワークの重みを用いて、車両運転中にオンボードで更に学習が行われる。図31は、このオンボードで行われる第5実施例の学習処理ルーチンを示しており、この学習処理ルーチンは一定時間毎の、例えば、一秒毎の割り込みによって実行される。
 即ち、図31を参照すると、まず初めに、ステップ700において、電子制御ユニット67の記憶部に記憶されている学習済みの重みと、事前の学習において用いられていた教師データ、即ち、予め設定されている範囲Rn内における2次電池60に関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データと、入力データの範囲、即ち、2次電池60に関する複数の種別の運転パラメータの値の予め設定されている範囲を示す値An,Bn(n= 1,2,3、4)(図28A)が読み込まれる。この学習済みの重みは、重みの初期値として用いられる。次いで、ステップ701では、事前の学習において用いられていたニューラルネットワークの出力層の一つ前の隠れ層のノードの個数Kが読み込まれる。次いで、ステップ702では、追加学習フラグがセットされているか否かが判別される。追加学習フラグがセットされていないときにはステップ703に進む。
 ステップ703では、新たな入力値x、即ち、新たな2次電池60に関する複数の種別の運転パラメータの値が取得され、この新たな入力値x、即ち、新たな2次電池60に関する複数の種別の運転パラメータの値は、電子制御ユニット67の記憶部に記憶される。
次いで、ステップ704では、新たな入力値x、即ち、新たに取得された2次電池60に関する複数の種別の運転パラメータの値が、予め設定されている範囲Rn(AnとBnとの間)内にあるか否か、即ち、新たな入力値xがAn以上であり、Bn以下であるか否かが判別される。新たな入力値xが、予め設定されている範囲Rn内にあるときには、ステップ705に進んで、各入力値x、即ち、新たに取得された2次電池60に関する複数の種別の運転パラメータの値がニューラルネットワークの入力層の対応するノードに入力され、ニューラルネットワークの出力層のノードから出力された出力値yと、新たに取得された2次電池60に関する複数の種別の運転パラメータの値に対し実測により求められた教師データとに基づき、誤差逆伝播法を用いて、出力値yと教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。
 一方、ステップ704において、新たな入力値x、即ち、新たに取得された2次電池60に関する複数の種別の運転パラメータの値の内の少なくとも一つの種別の運転パラメータの値が、予め設定されている範囲Rn(AnとBnとの間)内にないと判別されたとき、例えば、図28Bにおいて気温を示す入力値xが、BからC(B<C)までの予め設定されている範囲(B~C)内にあるような場合、或いは図28Bにおいて2次電池60の放電時間を示す入力値xが、CからA(C<A)までの予め設定されている範囲(C~A)内にあるような場合には、ステップ706に進む。ステップ706では、教師データ要求フラグがセットされ、このとき取得された新たな入力値xが、追加学習に使用するための新たな入力値xとして記憶される。次いで、処理サイクルを完了する。
 教師データ要求フラグがセットされると、図30の教師データ取得処理ルーチンからわかるように、2次電池60の充電が完了したときに、2次電池60の劣化度が検出され、この2次電池60の劣化度が、追加学習に使用するための教師データとして記憶される。次いで、追加学習フラグがセットされる。さて、ステップ706において追加学習フラグがセットされると、次の処理サイクルでは、ステップ702からステップ707に進む。ステップ707では、追加学習に使用するために記憶されている新たな入力値xと、追加学習に使用するために記憶されている教師データとが記憶部から読み出され、この新たな入力値xの属する範囲(B~C)或いは範囲(C~A)内における新たな入力値xに対する教師データの密度D(=教師データ個数/(C―B)、或いは教師データ個数/(A―C))が算出される。この教師データ密度Dの定義については、前述した通りである。ステップ707では、教師データ密度Dが算出されると、教師データ密度Dが予め定められたデータ密度Dよりも高くなったか否かが判別される。教師データ密度Dが予め定められたデータ密度Dよりも低い場合には処理サイクルを完了する。
 一方、ステップ707において、教師データ密度Dが予め定められたデータ密度Dよりも高くなったと判別されたときにはステップ708に進む。この場合、D(=教師データ個数/(A―C))>D のときには、次式により追加ノード数αが算出される。
 追加ノード数α=round{ (K/(Bn-An))・(An-Cn)}
 一方、D(=教師データ個数/(C―B))>D のときには、次式により追加ノード数αが算出される。
 追加ノード数α=round{ (K/(Bn-An))・(Cn-Bn)}
 なお、上式において、Kはノードの個数を示しており、roundは四捨五入を意味している。
 ステップ708において追加ノード数αが算出されると、ステップ709に進んで、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数Kが更新され、出力層の一つ前の隠れ層のノードの個数Kが、追加ノード数αだけ増大せしめられる(K←K+α)。このように、この第5実施例では、教師データの個数を運転パラメータの値の予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度が増大すると、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数が増大される。即ち、この第5実施例では、教師データの個数を運転パラメータの値の予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数が増大される。
 ステップ709において出力層の一つ前の隠れ層のノードの個数Kが、追加ノード数αだけ増大せしめられる(K←K+α)と、ステップ710に進み、出力層の一つ前の隠れ層のノードの個数Kを増大させるようにニューラルネットワークが更新される。次いで、ステップ705に進む。ステップ705では、新たな入力値xに対して新たに得られた教師データも教師データに含めて、出力値yと教師データとの差が小さくなるように、更新されたニューラルネットワークの重みが学習される。即ち、ステップ705では、新たに取得された2次電池60に関する複数の種別の運転パラメータの値に対し実測により得られた教師データ、および予め設定されている範囲Rn内における2次電池60に関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データを用いて、予め設定されている範囲内および予め設定されている範囲外の2次電池60に関する複数の種別の運転パラメータの値に応じて変化する出力値yと、この2次電池60に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるように、更新されたニューラルネットワークの重みが学習される。
 図32および図33は、第5実施例の変形例を示している。この変形例では、2次電池60に関する各種別の運転パラメータの値の予め設定されている範囲が複数個に区分けされている。即ち、図32におけるRw、Rx、Ry、Rzは、夫々気温、2次電池60の温度、2次電池60の放電時間および2次電池60の単位時間当たりの放電エネルギの予め設定されている範囲を示しており、図24に示されるように、気温、2次電池60の温度、2次電池60の放電時間および2次電池60の単位時間当たりの放電エネルギの予め設定されている範囲が複数個に区分けされている。なお、図32において、W、W・・・W, X、X・・・X, Y、Y・・・Y, Z、Z・・・Zは、夫々各種別の運転パラメータの値の区分け範囲を示している。
 更に、この変形例では、各種別の運転パラメータの値の区分けされた各区分け範囲の組み合わせにより画定される複数の区分け領域〔Wi,Xj,Yk、Zl〕(i=1,2・・・n、j=1,2・・・n、k=1,2・・・n、l=1,2・・・n)が予め設定されており、各区分け領域〔Wi,Xj,Yk、Zl〕毎に、夫々、独立したニューラルネットワークが作成されている。これらのニューラルネットワークは、図27に示される構造を有する。この場合、隠れ層(L=3)のノードの数は、ニューラルネットワーク毎に異なり、以下、区分け領域〔Wi,Xj,Yk、Zl〕におけるニューラルネットワークの出力層の一つ前の隠れ層のノードの個数をKi,j,k,lで表す。この隠れ層のノードの個数Ki,j,k,l は、各区分け領域〔Wi,Xj,Yk、Zl〕内での入力値の変化に対する教師データの変化の複雑さに応じて、事前に設定されている。
 この変形例では、2次電池60に関する複数の種別の運転パラメータの値の予め設定されている範囲Rw、Rx、Ry、Rz 内に形成されている各区分け領域〔Wi,Xj,Yk、Zl〕内の種々の入力値x1、x2,x3,x4、即ち、気温、2次電池60の温度、2次電池60の放電時間および2次電池60の単位時間当たりの放電エネルギに対して実測された2次電池60の劣化度が教師データとして事前に求められており、即ち、予め設定されている範囲Rw、Rx、Ry、Rz内における2次電池60に関する複数の種別の運転パラメータの値に対して実測により教師データが事前に求められており、これら2次電池60に関する複数の種別の運転パラメータの値および教師データから、隠れ層のノードの個数Ki,j,k,lも含めて各区分け領域〔Wi,Xj,Yk、Zl〕に対するニューラルネットワークの構造が決定され、出力値y、y、yと対応する教師データとの差が小さくなるように、各区分け領域〔Wi,Xj,Yk、Zl〕のニューラルネットワークの重みが事前に学習される。
 従って、この変形例では、この事前に学習の行われた区分け領域〔Wi,Xj,Yk、Zl〕を、以下、学習済み区分け領域〔Wi,Xj,Yk、Zl〕と称することもある。なお、この予め設定されている範囲Rw、Rx、Ry、Rz内における2次電池60に関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データは電子制御ユニット56の記憶部に記憶される。この変形例でも、各区分け領域〔Wi,Xj,Yk、Zl〕について、事前学習において用いられたニューラルネットワークと同じ構造のニューラルネットワークを用い、学習が完了したときのニューラルネットワークの重みを用いて、車両運転中にオンボードで更に学習が行われる。図33は、このオンボードで行われる変形例の学習処理ルーチンを示しており、この学習処理ルーチンは一定時間毎の、例えば、一秒毎の割り込みによって実行される。
 図33を参照すると、まず初めに、ステップ800において、電子制御ユニット56の記憶部に記憶されている学習済みの重みと、事前の学習において用いられていた教師データ、即ち、予め設定されている範囲Rw、Rx、Ry、Rz 内における2次電池60に関する複数の種別の運転パラメータの値に対して実測により事前に求められている教師データと、各学習済み区分け領域〔Wi,Xj,Yk、Zl〕が読み込まれる。この学習済みの重みは、重みの初期値として用いられる。次いで、ステップ801では、各学習済み区分け領域〔Wi,Xj,Yk、Zl〕に対し事前の学習において用いられていた出力層の一つ前の隠れ層のノードの個数Ki,j,k,l が読み込まれる。次いで、ステップ802では、追加学習フラグがセットされているか否かが判別される。追加学習フラグがセットされていないときにはステップ803に進む。
 ステップ803では、新たな入力値x1、x2、x3,x4、即ち、気温、2次電池60の温度、2次電池60の放電時間および2次電池60の単位時間当たりの放電エネルギが取得され、この新たな入力値x1、x2、x3,x4、即ち、新たな2次電池60に関する複数の種別の運転パラメータの値は、電子制御ユニット56の記憶部に記憶される。
次いで、ステップ804では、新たな入力値x1、x2, x3,x4が、学習済み区分け領域〔Wi,Xj,Yk、Zl〕内にあるか否かが、即ち、新たに取得された2次電池60に関する複数の種別の運転パラメータの値が予め設定されている範囲Rw、Rx、Ry、Rz 内にあるか否かが判別される。新たな入力値x1、x2,x3,x4 が、学習済み区分け領域Rw、Rx、Ry、Rz内にあるとき、即ち、新たに取得された2次電池60に関する複数の種別の運転パラメータの値が予め設定されている範囲Rw、Rx、Ry、Rz 内あるときには、ステップ805に進んで、入力値x1、x2、x3,x4、即ち、新たに取得された2次電池60に関する複数の種別の運転パラメータの値 が、新たに取得された2次電池60に関する複数の種別の運転パラメータの値の属する学習済み区分け領域〔Wi,Xj,Yk、Zl〕のニューラルネットワークの入力層の各ノードに入力され、ニューラルネットワークの出力層のノードから出力された出力値yと、新たに取得された2次電池60に関する複数の種別の運転パラメータの値に対し実測により求められた教師データとに基づき、誤差逆伝播法を用いて、出力値yと教師データとの差が小さくなるように、新たに取得された2次電池60に関する複数の種別の運転パラメータの値の属する学習済み区分け領域〔Wi,Xj,Yk、Zl〕のニューラルネットワークの重みが更に学習される。
 一方、ステップ804において、新たな入力値x1、x2, x3,x4が、学習済み区分け領域〔Wi,Xj,Yk、Zl〕内にないと判別されたときには、ステップ806に進む。ステップ806では、教師データ要求フラグがセットされ、このとき取得された新たな入力値xが、追加学習に使用するための新たな入力値xとして記憶される。次いで、処理サイクルを完了する。
 教師データ要求フラグがセットされると、図30の教師データ取得処理ルーチンからわかるように、2次電池60の充電が完了したときに、2次電池60の劣化度が検出され、この2次電池60の劣化度が、追加学習に使用するための教師データとして記憶される。次いで、追加学習フラグがセットされる。さて、ステップ806において追加学習フラグがセットされると、次の処理サイクルでは、ステップ802からステップ807に進む。ステップ807では、追加学習に使用するために記憶されている新たな入力値xと、追加学習に使用するために記憶されている教師データとが記憶部から読み出され、予め設定された範囲Rw、Rx、Ry、Rz外に、追加学習に使用するために記憶されている新たな入力値x1、x2, x3,x4により画定される未学習領域が設定される。例えば、この新たな入力値x2, x3,x4が、対応する予め設定された範囲Rx、Ry、Rz内にあり、新たな入力値x1が対応する予め設定された範囲Rw内にないと判別されたときには、新たな入力値x1の属する範囲をWaとすると、新たな入力値x1、x2, x3,x4により画定される未学習領域〔Wa,Xj,Yk、Zl〕が設定される。また、新たな入力値x3,x4が、対応する予め設定された範囲Ry、Rz内にあり、新たな入力値x1,x2が対応する予め設定された範囲Rw、Rx内にないと判別されたときには、新たな入力値x1の属する範囲をWaとし、新たな入力値x2の属する範囲をXbとすると、新たな入力値x1、x2, x3,x4により画定される未学習領域〔Wa,Xb,Yk、Zl〕が設定される。
 次いで、ステップ807では、未学習領域に対する新たなニューラルネットワークが作成される。ステップ807において、新たなニューラルネットワークが作成されると、ステップ805に進む。ステップ805では、未学習領域について、出力値yと、追加学習に使用するために記憶されている教師データとの差が小さくなるように、未学習領域に対し作成された新たなニューラルネットワークの重みが学習される。
 以上の説明から、本発明による実施例では、ニューラルネットワークを用い、機械の運転パラメータの値に対する出力値を出力するための機械学習装置において、この機械に関する特定の種別の運転パラメータの値の範囲が予め設定されていると共に、この機械に関する特定の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されている。新たに取得されたこの機械に関する特定の種別の運転パラメータの値が予め設定されている範囲外であるときには、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させ、新たに取得されたこの機械に関する特定の種別の運転パラメータの値に対して実測により得られた教師データおよび予め設定されている範囲内におけるこの機械の運転パラメータの値に対して実測により得られた教師データを用いてニューラルネットワークの重みが学習される。重みの学習されたニューラルネットワークを用いてこの機械に関する特定の種別の運転パラメータの値に対する出力値が出力される。
 この場合、本発明による実施例では、機械学習装置が電子制御ユニットを具備している。この電子制御ユニットが、上述の機械に関する特定の種別の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、上述の機械に関する特定の種別の運転パラメータの値が入力層に入力され、上述の機械に関する特定の種別の運転パラメータの値に応じて変化する出力値が出力層から出力される。上述の機械に関する特定の種別の運転パラメータの値の範囲が予め設定されていると共に、上述の機械に関する特定の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、予め設定されている範囲内における上述の機械に関する特定の種別の運転パラメータの値に対して実測により事前に求められている教師データが記憶部に記憶されている。新たに取得された上述の機械に関する特定の種別の運転パラメータの値が予め設定されている範囲内であるときには、新たに取得された上述の機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データを用いて、演算部により、新たに取得された上述の機械に関する特定の種別の運転パラメータの値に応じて変化する出力値と新たに取得された上述の機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。パラメータ値取得部により新たに取得された上述の機械に関する特定の種別の運転パラメータの値が予め設定されている範囲外であるときには、新たに取得された上述の機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データの個数の増大、又は、教師データの個数を、運転パラメータの値の予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数が増大されると共に、新たに取得された上述の機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データおよび事前に求められている教師データを用いて、演算部により、予め設定されている範囲内および予め設定されている範囲外の上述の機械に関する特定の種別の運転パラメータの値に応じて変化する出力値と上述の機械に関する特定の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。重みの学習されたニューラルネットワークを用いて上述の機械に関する特定の種別の運転パラメータの値に対する出力値が出力される。
 また、この場合、本発明による実施例では、電子制御ユニットが、上述の機械に関する特定の種別の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、上述の機械に関する特定の種別の運転パラメータの値が入力層に入力され、上述の機械に関する特定の種別の運転パラメータの値に応じて変化する複数の出力値が出力層から出力される。上述の機械に関する特定の種別の運転パラメータの値の範囲が予め設定されていると共に、上述の機械に関する特定の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、予め設定されている範囲内における上述の機械に関する特定の種別の運転パラメータの値に対して実測により事前に求められている教師データが記憶部に記憶されている。パラメータ値取得部により新たに取得された上述の機械の運転パラメータの値が予め設定されている範囲内であるときには、新たに取得された上述の機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データを用いて、演算部により、上述の機械に関する特定の種別の運転パラメータの値に応じて変化する複数の出力値と上述の機械に関する特定の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。パラメータ値取得部により新たに取得された上述の機械に関する特定の種別の運転パラメータの値が予め設定されている範囲外であるときには、新たに取得された上述の機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データの個数の増大、又は、教師データの個数を、予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させると共に、予め設定されている範囲内および予め設定されている範囲外の新たに取得された上述の機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データおよび事前に求められている教師データを用いて、演算部により、上述の機械に関する特定の種別の運転パラメータの値に応じて変化する複数の出力値と上述の機械に関する特定の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。重みの学習されたニューラルネットワークを用いて上述の機械に関する特定の種別の運転パラメータの値に対する複数の出力値が出力される。
 一方、本発明による実施例では、ニューラルネットワークを用い、機械の運転パラメータの値に対する出力値を出力するための機械学習装置において、この機械に関する複数の種別の運転パラメータの値の範囲が予め設定されていると共に、この機械に関する複数の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、新たに取得されたこの機械に関する複数の種別の運転パラメータの値が予め設定されている範囲外であるときには、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させ、新たに取得されたこの機械に関する複数の種別の運転パラメータの値に対して実測により得られた教師データおよび予め設定されている範囲内におけるこの機械の運転パラメータの値に対して実測により得られた教師データを用いてニューラルネットワークの重みが学習される。重みの学習されたニューラルネットワークを用いてこの機械に関する複数の種別の運転パラメータの値に対する出力値が出力される。
 この場合、本発明による実施例では、機械学習装置が電子制御ユニットを具備しており、この電子制御ユニットが、上述の機械に関する複数の種別の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、上述の機械に関する複数の種別の運転パラメータの値が入力層に入力され、上述の機械に関する複数の種別の運転パラメータの値に応じて変化する出力値が出力層から出力される。上述の機械に関する複数の種別の運転パラメータの夫々について、各種別の運転パラメータの値の範囲が予め設定されていると共に、上述の機械に関する複数の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、複数の種別の運転パラメータの値に対して実測により事前に求められている教師データであって、各種別の運転パラメータの値が予め設定されている範囲内である教師データが記憶部に記憶されている。パラメータ値取得部により新たに取得された上述の機械の複数の運転パラメータの値の夫々が予め設定されている範囲内であるときには、新たに取得された上述の機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データを用いて、演算部により、上述の機械に関する複数の種別の運転パラメータの値に応じて変化する出力値と上述の機械に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。パラメータ値取得部により新たに取得された上述の機械に関する複数の種別の運転パラメータの内の少なくとも一つの種別の運転パラメータの値が予め設定されている範囲外であるときには、新たに取得された上述の機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データの個数の増大、又は、教師データの個数を、予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させると共に、予め設定されている範囲内および該予め設定されている範囲外の新たに取得された上述の機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データおよび事前に求められている教師データを用いて、演算部により、上述の機械に関する複数の種別の運転パラメータの値に応じて変化する出力値と上述の機械に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。重みの学習されたニューラルネットワークを用いて上述の機械に関する複数の種別の運転パラメータの値に対する出力値が出力される。
 また、この場合、本発明による実施例では、電子制御ユニットが、上述の機械に関する複数の種別の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、上述の機械に関する複数の種別の運転パラメータの値が入力層に入力され、上述の機械に関する複数の種別の運転パラメータの値に応じて変化する複数の出力値が出力層から出力される。上述の機械に関する複数の種別の運転パラメータの夫々について、各種別の運転パラメータの値の範囲が予め設定されていると共に、上述の機械に関する複数の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、複数の種別の運転パラメータの値に対して実測により事前に求められている教師データであって、各種別の運転パラメータの値が予め設定されている範囲内である教師データが記憶部に記憶されている。パラメータ値取得部により新たに取得された上述の機械の複数の運転パラメータの値の夫々が予め設定されている範囲内であるときには、新たに取得された上述の機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データを用いて、演算部により、上述の機械に関する複数の種別の運転パラメータの値に応じて変化する複数の出力値と上述の機械に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。パラメータ値取得部により新たに取得された上述の機械に関する複数の種別の運転パラメータの内の少なくとも一つの種別の運転パラメータの値が予め設定されている範囲外であるときには、新たに取得された上述の機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データの個数の増大、又は、教師データの個数を、予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させると共に、予め設定されている範囲内および予め設定されている範囲外の新たに取得された上述の機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データおよび事前に求められている教師データを用いて、演算部により、上述の機械に関する複数の種別の運転パラメータの値に応じて変化する複数の出力値と上述の機械に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習される。重みの学習されたニューラルネットワークを用いて上述の機械に関する複数の種別の運転パラメータの値に対する複数の出力値が出力される。
 一方、本発明による実施例では、ニューラルネットワークを用い、機械の運転パラメータの値に対する出力値を出力するための機械学習装置において、この機械に関する複数の種別の運転パラメータの値の範囲が予め設定されていると共に、この機械に関する複数の種別の運転パラメータの値の範囲に応じたニューラルネットワークが予め形成されており、新たに取得されたこの機械に関する複数の種別の運転パラメータの値の内の少なくとも一つの種別の運転パラメータの値が予め設定されている範囲外であるときには、新たなニューラルネットワークを形成し、新たに取得されたこの機械に関する複数の種別の運転パラメータの値に対して実測により得られた教師データを用いて新たなニューラルネットワークの重みが学習される。重みの学習されたニューラルネットワークを用いてこの機械に関する複数の種別の運転パラメータの値に対する出力値が出力される。
 この場合、本発明による実施例では、機械学習装置が電子制御ユニットを具備しており、この電子制御ユニットが、上述の機械に関する複数の種別の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなる複数個のニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備している。上述の機械に関する複数の種別の運転パラメータの値が入力層に入力され、上述の機械に関する複数の種別の運転パラメータの値に応じて変化する出力値が対応する出力層から出力される。上述の機械に関する複数の種別の運転パラメータの夫々について、各種別の運転パラメータの値の範囲が予め設定されており、各種別の運転パラメータの値の予め設定されている範囲を複数個に区分けすると共に、各種別の運転パラメータの値の区分けされた各範囲の組み合わせにより画定される複数の区分け領域が予め設定されている。区分け領域毎にニューラルネットワークが作成されていると共に各ニューラルネットワークの隠れ層のノードの個数が予め設定されている。複数の種別の運転パラメータの値に対して実測により事前に求められている教師データが記憶部に記憶されている。パラメータ値取得部により新たに取得された上述の機械に関する複数の種別の運転パラメータの値が予め設定されている範囲内であるときには、新たに取得された上述の機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データを用いて、演算部により、上述の機械に関する複数の種別の運転パラメータの値に応じて変化する出力値と上述の機械に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるように、新たに取得された上述の機械に関する複数の種別の運転パラメータの値の属する区分け領域のニューラルネットワークの重みが学習される。パラメータ値取得部により新たに取得された上述の機械に関する複数の種別の運転パラメータの内の少なくとも一つの種別の運転パラメータの値が予め設定されている範囲外であるときには、少なくとも一つの種別の運転パラメータの値が属しかつ各種別の運転パラメータの値の予め設定された範囲の組み合わせにより画定される新たな領域が設定されると共に、この新たな領域に対し新たなニューラルネットワークが作成される。新たに取得された上述の機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データを用いて、演算部により、上述の機械に関する複数の種別の運転パラメータの値に応じて変化する出力値と上記機械に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるように新たなニューラルネットワークの重みが学習される。重みの学習された各ニューラルネットワークを用いて上述の機械の運転パラメータの値に対する出力値が出力される。
 1  内燃機関
 14  スロットル弁開度センサ
 23  NOXセンサ
 24  大気温センサ
 30,56,67  電子制御ユニット
 50  エアコン本体
 53、65  温度計
 54  湿度計
 55  GPS
 60  2次電池
 53  電流計
 64  電圧計

Claims (11)

  1.  ニューラルネットワークを用い、機械の運転パラメータの値に対する出力値を出力するための機械学習装置において、上記機械に関する特定の種別の運転パラメータの値の範囲が予め設定されていると共に、上記機械に関する特定の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、新たに取得された上記機械に関する特定の種別の運転パラメータの値が予め設定されている範囲外であるときには、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させ、新たに取得された上記機械に関する特定の種別の運転パラメータの値に対して実測により得られた教師データおよび該予め設定されている範囲内における上記機械の運転パラメータの値に対して実測により得られた教師データを用いてニューラルネットワークの重みを学習し、重みの学習されたニューラルネットワークを用いて上記機械に関する特定の種別の運転パラメータの値に対する出力値が出力される機械学習装置。
  2.  電子制御ユニットを具備しており、該電子制御ユニットが、上記機械に関する特定の種別の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、上記機械に関する特定の種別の運転パラメータの値が入力層に入力され、上記機械に関する特定の種別の運転パラメータの値に応じて変化する出力値が出力層から出力される機械学習装置において、上記機械に関する特定の種別の運転パラメータの値の範囲が予め設定されていると共に、上記機械に関する特定の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、該予め設定されている範囲内における上記機械に関する特定の種別の運転パラメータの値に対して実測により事前に求められている教師データが記憶部に記憶されており、新たに取得された上記機械に関する特定の種別の運転パラメータの値が予め設定されている範囲内であるときには、新たに取得された上記機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データを用いて、該演算部により、新たに取得された上記機械に関する特定の種別の運転パラメータの値に応じて変化する出力値と新たに取得された上記機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データとの差が小さくなるようにニューラルネットワークの重みが学習され、該パラメータ値取得部により新たに取得された上記機械に関する特定の種別の運転パラメータの値が予め設定されている範囲外であるときには、新たに取得された上記機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データの個数の増大、又は、該教師データの個数を、運転パラメータの値の予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させると共に、新たに取得された上記機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データおよび該事前に求められている教師データを用いて、該演算部により、該予め設定されている範囲内および該予め設定されている範囲外の上記機械に関する特定の種別の運転パラメータの値に応じて変化する出力値と上記機械に関する特定の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習され、重みの学習されたニューラルネットワークを用いて上記機械に関する特定の種別の運転パラメータの値に対する出力値が出力される請求項1に記載の機械学習装置。
  3.  電子制御ユニットを具備しており、該電子制御ユニットが、上記機械に関する特定の種別の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、上記機械に関する特定の種別の運転パラメータの値が入力層に入力され、上記機械に関する特定の種別の運転パラメータの値に応じて変化する複数の出力値が出力層から出力される機械学習装置において、上記機械に関する特定の種別の運転パラメータの値の範囲が予め設定されていると共に、上記機械に関する特定の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、該予め設定されている範囲内における上記機械に関する特定の種別の運転パラメータの値に対して実測により事前に求められている教師データが記憶部に記憶されており、該パラメータ値取得部により新たに取得された上記機械の運転パラメータの値が予め設定されている範囲内であるときには、新たに取得された上記機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データを用いて、該演算部により、上記機械に関する特定の種別の運転パラメータの値に応じて変化する複数の出力値と上記機械に関する特定の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習され、該パラメータ値取得部により新たに取得された上記機械に関する特定の種別の運転パラメータの値が予め設定されている範囲外であるときには、新たに取得された上記機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データの個数の増大、又は、該教師データの個数を、予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させると共に、該予め設定されている範囲内および該予め設定されている範囲外の新たに取得された上記機械に関する特定の種別の運転パラメータの値に対し実測により得られた教師データおよび該事前に求められている教師データを用いて、該演算部により、上記機械に関する特定の種別の運転パラメータの値に応じて変化する複数の出力値と上記機械に関する特定の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習され、重みの学習されたニューラルネットワークを用いて上記機械に関する特定の種別の運転パラメータの値に対する複数の出力値が出力される請求項1に記載の機械学習装置。
  4.  ニューラルネットワークを用い、機械の運転パラメータの値に対する出力値を出力するための機械学習装置において、上記機械に関する複数の種別の運転パラメータの値の範囲が予め設定されていると共に、上記機械に関する複数の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、新たに取得された上記機械に関する複数の種別の運転パラメータの値が予め設定されている範囲外であるときには、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させ、新たに取得された上記機械に関する複数の種別の運転パラメータの値に対して実測により得られた教師データおよび該予め設定されている範囲内における上記機械の運転パラメータの値に対して実測により得られた教師データを用いてニューラルネットワークの重みを学習し、重みの学習されたニューラルネットワークを用いて上記機械に関する複数の種別の運転パラメータの値に対する出力値が出力される機械学習装置。
  5.  電子制御ユニットを具備しており、該電子制御ユニットが、上記機械に関する複数の種別の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、上記機械に関する複数の種別の運転パラメータの値が入力層に入力され、上記機械に関する複数の種別の運転パラメータの値に応じて変化する出力値が出力層から出力される機械学習装置において、上記機械に関する複数の種別の運転パラメータの夫々について、各種別の運転パラメータの値の範囲が予め設定されていると共に、上記機械に関する複数の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、複数の種別の運転パラメータの値に対して実測により事前に求められている教師データであって、各種別の運転パラメータの値が該予め設定されている範囲内である教師データが記憶部に記憶されており、該パラメータ値取得部により新たに取得された上記機械の複数の運転パラメータの値の夫々が予め設定されている範囲内であるときには、新たに取得された上記機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データを用いて、該演算部により、上記機械に関する複数の種別の運転パラメータの値に応じて変化する出力値と上記機械に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習され、該パラメータ値取得部により新たに取得された上記機械に関する複数の種別の運転パラメータの内の少なくとも一つの種別の運転パラメータの値が予め設定されている範囲外であるときには、新たに取得された上記機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データの個数の増大、又は、該教師データの個数を、予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させると共に、該予め設定されている範囲内および該予め設定されている範囲外の新たに取得された上記機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データおよび該事前に求められている教師データを用いて、該演算部により、上記機械に関する複数の種別の運転パラメータの値に応じて変化する出力値と上記機械に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習され、重みの学習されたニューラルネットワークを用いて上記機械に関する複数の種別の運転パラメータの値に対する出力値が出力される請求項4に記載の機械学習装置。
  6.  電子制御ユニットを具備しており、該電子制御ユニットが、上記機械に関する複数の種別の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなるニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、上記機械に関する複数の種別の運転パラメータの値が入力層に入力され、上記機械に関する複数の種別の運転パラメータの値に応じて変化する複数の出力値が出力層から出力される機械学習装置において、上記機械に関する複数の種別の運転パラメータの夫々について、各種別の運転パラメータの値の範囲が予め設定されていると共に、上記機械に関する複数の種別の運転パラメータの値の範囲に応じたニューラルネットワークの隠れ層のノードの個数が予め設定されており、複数の種別の運転パラメータの値に対して実測により事前に求められている教師データであって、各種別の運転パラメータの値が該予め設定されている範囲内である教師データが記憶部に記憶されており、該パラメータ値取得部により新たに取得された上記機械の複数の運転パラメータの値の夫々が予め設定されている範囲内であるときには、新たに取得された上記機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データを用いて、該演算部により、上記機械に関する複数の種別の運転パラメータの値に応じて変化する複数の出力値と上記機械に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習され、該パラメータ値取得部により新たに取得された上記機械に関する複数の種別の運転パラメータの内の少なくとも一つの種別の運転パラメータの値が予め設定されている範囲外であるときには、新たに取得された上記機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データの個数の増大、又は、該教師データの個数を、予め設定されている範囲を示す最大値及び最小値の差分値で除したデータ密度の増大に応じて、ニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させると共に、該予め設定されている範囲内および該予め設定されている範囲外の新たに取得された上記機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データおよび該事前に求められている教師データを用いて、該演算部により、上記機械に関する複数の種別の運転パラメータの値に応じて変化する複数の出力値と上記機械に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるようにニューラルネットワークの重みが学習され、重みの学習されたニューラルネットワークを用いて上記機械に関する複数の種別の運転パラメータの値に対する複数の出力値が出力される請求項4に記載の機械学習装置。
  7.  ニューラルネットワークを用い、機械の運転パラメータの値に対する出力値を出力するための機械学習装置において、上記機械に関する複数の種別の運転パラメータの値の範囲が予め設定されていると共に、上記機械に関する複数の種別の運転パラメータの値の範囲に応じたニューラルネットワークが予め形成されており、新たに取得された上記機械に関する複数の種別の運転パラメータの値の内の少なくとも一つの種別の運転パラメータの値が予め設定されている範囲外であるときには、新たなニューラルネットワークを形成し、該新たに取得された上記機械に関する複数の種別の運転パラメータの値に対して実測により得られた教師データを用いて新たなニューラルネットワークの重みを学習し、重みの学習されたニューラルネットワークを用いて上記機械に関する複数の種別の運転パラメータの値に対する出力値が出力される機械学習装置。
  8.  電子制御ユニットを具備しており、該電子制御ユニットが、上記機械に関する複数の種別の運転パラメータの値を取得するパラメータ値取得部と、入力層、隠れ層および出力層からなる複数個のニューラルネットワークを用いて演算を行う演算部と、記憶部とを具備しており、上記機械に関する複数の種別の運転パラメータの値が入力層に入力され、上記機械に関する複数の種別の運転パラメータの値に応じて変化する出力値が対応する出力層から出力される機械学習装置において、上記機械に関する複数の種別の運転パラメータの夫々について、各種別の運転パラメータの値の範囲が予め設定されており、各種別の運転パラメータの値の該予め設定されている範囲を複数個に区分けすると共に、各種別の運転パラメータの値の区分けされた各範囲の組み合わせにより画定される複数の区分け領域が予め設定されており、該区分け領域毎にニューラルネットワークが作成されていると共に各ニューラルネットワークの隠れ層のノードの個数が予め設定されており、複数の種別の運転パラメータの値に対して実測により事前に求められている教師データが記憶部に記憶されており、該パラメータ値取得部により新たに取得された上記機械に関する複数の種別の運転パラメータの値が予め設定されている範囲内であるときには、新たに取得された上記機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データを用いて、該演算部により、上記機械に関する複数の種別の運転パラメータの値に応じて変化する出力値と上記機械に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるように、新たに取得された上記機械に関する複数の種別の運転パラメータの値の属する区分け領域のニューラルネットワークの重みが学習され、該パラメータ値取得部により新たに取得された上記機械に関する複数の種別の運転パラメータの内の少なくとも一つの種別の運転パラメータの値が予め設定されている範囲外であるときには、該少なくとも一つの種別の運転パラメータの値が属しかつ各種別の運転パラメータの値の予め設定された範囲の組み合わせにより画定される新たな領域が設定されると共に、該新たな領域に対し新たなニューラルネットワークが作成され、新たに取得された上記機械に関する複数の種別の運転パラメータの値に対し実測により得られた教師データを用いて、該演算部により、上記機械に関する複数の種別の運転パラメータの値に応じて変化する出力値と上記機械に関する複数の種別の運転パラメータの値に対応した教師データとの差が小さくなるように該新たなニューラルネットワークの重みが学習され、重みの学習された各ニューラルネットワークを用いて上記機械の運転パラメータの値に対する出力値が出力される請求項7に記載の機械学習装置。
  9.  上記機械に関する運転パラメータが二つの種別の運転パラメータからなり、該パラメータ値取得部により新たに取得された内燃機関に関する運転パラメータの内の一方の種別の運転パラメータの値が予め設定されている範囲外であり、他方の種別の運転パラメータの値が予め設定されている範囲内であるときには、上記新たな領域は、該一方の種別の運転パラメータの値に対し予め設定されている範囲外であって該他方の種別の運転パラメータの値が属する上記区分け領域と同一範囲内に、該他方の種別の運転パラメータの値が属する該区分け領域に隣接して設定される請求項8に記載の機械学習装置。
  10.  該新たな領域に隣接する該区分け領域の内でニューラルネットワークの出力層の一つ前の隠れ層のノードの個数が設定されていな区分け領域を除いた区分け領域のニューラルネットワークの出力層の一つ前の隠れ層のノードの個数の平均値に基づいて、該新たなニューラルネットワークの出力層の一つ前の隠れ層のノードの個数が設定される請求項8に記載の機械学習装置。
  11.  該新たな領域内に係る運転パラメータの値が入力層に入力された数の増大に応じて、該新たな領域の新たなニューラルネットワークの出力層の一つ前の隠れ層のノードの個数を増大させる請求項10に記載の機械学習装置。
PCT/JP2019/004080 2018-02-05 2019-02-05 機械学習装置 WO2019151536A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE112019000020.9T DE112019000020B4 (de) 2018-02-05 2019-02-05 Maschinenlernsystem
US16/486,836 US10853727B2 (en) 2018-02-05 2019-02-05 Machine learning system
CN201980001105.XA CN110352297B (zh) 2018-02-05 2019-02-05 机器学习装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2018-018425 2018-02-05
JP2018018425 2018-02-05
JP2018-216766 2018-11-19
JP2018216850A JP6501032B1 (ja) 2018-11-19 2018-11-19 機械学習装置
JP2018-216850 2018-11-19
JP2018216766A JP2019135392A (ja) 2018-02-05 2018-11-19 内燃機関の制御装置および出力値を出力する装置

Publications (1)

Publication Number Publication Date
WO2019151536A1 true WO2019151536A1 (ja) 2019-08-08

Family

ID=67478764

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/004080 WO2019151536A1 (ja) 2018-02-05 2019-02-05 機械学習装置

Country Status (1)

Country Link
WO (1) WO2019151536A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113313612A (zh) * 2021-05-26 2021-08-27 广东电网有限责任公司 低负荷下电能表的电能计量方法及计量装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299366A (ja) * 2006-01-31 2007-11-15 Sony Corp 学習装置および学習方法、認識装置および認識方法、生成装置および生成方法、認識生成装置および認識生成方法、並びにプログラム
JP2012112277A (ja) * 2010-11-24 2012-06-14 Honda Motor Co Ltd 内燃機関の制御装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007299366A (ja) * 2006-01-31 2007-11-15 Sony Corp 学習装置および学習方法、認識装置および認識方法、生成装置および生成方法、認識生成装置および認識生成方法、並びにプログラム
JP2012112277A (ja) * 2010-11-24 2012-06-14 Honda Motor Co Ltd 内燃機関の制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113313612A (zh) * 2021-05-26 2021-08-27 广东电网有限责任公司 低负荷下电能表的电能计量方法及计量装置

Similar Documents

Publication Publication Date Title
JP2019135393A (ja) 内燃機関の制御装置および出力値を出力する装置
US10853727B2 (en) Machine learning system
US7299123B2 (en) Method and device for estimating the inlet air flow in a combustion chamber of a cylinder of an internal combustion engine
EP1705353B1 (en) Method and device for estimating the inlet air flow in a combustion chamber of a cylinder of an internal combustion engine
CN103775225B (zh) 内燃机的气缸吸入空气量推定装置
US20120191427A1 (en) System for diagnosing error conditions of a gas flow control system for turbocharged engines
CN101622437A (zh) 用于估计内燃机的排气温度的方法和设备
JP6741057B2 (ja) 内燃機関の制御システム、電子制御ユニット、サーバ及び内燃機関の制御方法
US20150219052A1 (en) Method and device for determining a charge air mass flow rate
CN108571391A (zh) 内燃机的控制装置以及控制方法
US10947909B2 (en) Control device of internal combustion engine and control method of same and learning model for controlling internal combustion engine and learning method of same
JP2020045773A (ja) 内燃機関の制御装置
JPH11343916A (ja) エンジン制御におけるデータ推定方法
CN110005537B (zh) 内燃机的控制装置
CN112031962A (zh) 废气再循环系统的异常检测装置
WO2019151536A1 (ja) 機械学習装置
JP6501032B1 (ja) 機械学習装置
CN116447028A (zh) 发动机系统egr率的控制方法、装置、电子设备和存储介质
CN113392574A (zh) 一种基于神经网络模型的汽油机次充模型进气量估算方法
CN114254498A (zh) 一种基于bp神经网络的发动机动态油耗预测方法、系统
JP2020045821A (ja) 内燃機関の制御装置
US11067011B2 (en) Target compressor ratio and burned gas ratio generation in diesel air charging multivariable control
JP2019148243A (ja) 内燃機関の制御装置
JP2019143477A (ja) 内燃機関の制御装置
JP2021085335A (ja) 内燃機関の制御装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19747467

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19747467

Country of ref document: EP

Kind code of ref document: A1