WO2022024663A1 - モデル生成装置、経路探索装置、モデル生成方法、及びモデル生成プログラム - Google Patents

モデル生成装置、経路探索装置、モデル生成方法、及びモデル生成プログラム Download PDF

Info

Publication number
WO2022024663A1
WO2022024663A1 PCT/JP2021/025066 JP2021025066W WO2022024663A1 WO 2022024663 A1 WO2022024663 A1 WO 2022024663A1 JP 2021025066 W JP2021025066 W JP 2021025066W WO 2022024663 A1 WO2022024663 A1 WO 2022024663A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
map
node
route
training
Prior art date
Application number
PCT/JP2021/025066
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
Application filed by オムロン株式会社 filed Critical オムロン株式会社
Priority to EP21849538.0A priority Critical patent/EP4191203A1/en
Priority to US18/002,870 priority patent/US20230342614A1/en
Priority to CN202180043798.6A priority patent/CN115803587A/zh
Publication of WO2022024663A1 publication Critical patent/WO2022024663A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • G01C21/3804Creation or updating of map data

Definitions

  • the present invention relates to a model generation device, a path search device, a model generation method, and a model generation program.
  • route search problem There is a problem (route search problem) of searching for a recommended route from the start node to the target node (goal) on the map (graph).
  • the recommended route is, for example, the shortest route
  • the route search problem is solved for the purpose of searching, for example, a route recommended for the moving body to move, a route recommended for the robot device to operate, and the like.
  • classical algorithms such as Dijkstra's algorithm, best-first search algorithm, and A * search algorithm are widely known.
  • V ⁇ V 1 , ..., VN ⁇
  • the cost function f (v) for selecting the node v * in the above (3) and (A) can be generally expressed by the above equation 1.
  • g (v, vs ) indicates the actual cost (eg, the actual distance traveled) to move from the starting node vs to the node v.
  • h (v, v g ) indicates the expected cost (eg, linear distance) to travel from node v to target node v g .
  • a and b are constants that specify the degree to which each is reflected in the selection of the node.
  • the cost corresponds to the degree that it is recommended (low cost) or not recommended (high cost) to go through the node.
  • Indicators for evaluating the degree of recommendation may be, for example, distance, time, cost, risk, congestion, attractiveness, and the like. As an example, when the distance is adopted as an index, the shortest route is searched by the above method.
  • the above search algorithm is Dijkstra's algorithm. According to Dijkstra's algorithm, it is possible to surely find the optimum recommended route that minimizes the actual cost. However, in Dijkstra's algorithm, the route that actually minimizes the cost g is searched for in detail. Therefore, the search efficiency is not good and the search takes time.
  • the above search algorithm is the best-first search method. The search of the best-first search method is often more efficient than the Dijkstra method because it preferentially searches for the node with the lowest cost to the target node (that is, keeps moving toward the target node). ..
  • the optimum recommended route cannot be obtained (that is, the obtained route is not the optimum route) due to reasons such as an obstacle between the start node and the target node.
  • the above search algorithm becomes an A * search algorithm.
  • a * The search efficiency of the search algorithm is better than that of Dijkstra's algorithm and worse than that of best-first search, but by appropriately designing an acceptable heuristic function (cost), the optimum recommended route can be ensured. Can be found in.
  • the efficiency of the search can be improved as compared with the Dijkstra method.
  • there may be obstacles in the map that impede progress and even if the best-first search method or A * search algorithm is adopted, the search efficiency may deteriorate depending on the form of the obstacles. It is known.
  • FIG. 1 schematically illustrates an example of a map containing obstacles that reduce the efficiency of the search.
  • the map of FIG. 1 there is a U-shaped obstacle between the start node and the target node, and the recess of the obstacle faces the start node.
  • the search may proceed inside the recess in order to approach the target node from the start node.
  • the search is performed inside and around the recess in search of a detour route, and as a result, the efficiency of the search deteriorates.
  • the target node cannot be reached as long as the inside of the recess is searched. Therefore, no matter which search algorithm is adopted, the efficiency of the search deteriorates as long as the inside of this recess is searched. In this case, if the search can proceed while avoiding the inside of the recess (for example, the dotted arrow in FIG. 1), the search efficiency regardless of which search algorithm is adopted (even if the Dijkstra method is adopted). It seems that sex can be improved. That is, if an obstacle that hinders the progress exists on the map and the obstacle forms an area that deteriorates the efficiency of the search, and if the search in that area can be avoided, any search algorithm is adopted. However, the efficiency of the search can be improved.
  • Non-Patent Document 1 proposes to adjust the parameters of the heuristic function for calculating the cost in the best-first search method by machine learning.
  • the heuristic function can be trained so that the cost of the area that deteriorates the efficiency of the search is high. Therefore, by using trained heuristic functions, the search for such areas can be avoided as much as possible, which can improve the efficiency of the search.
  • the method of directly training the cost function proposed in Non-Patent Document 1 and the like by machine learning has the following problems. That is, the form of the obstacle that deteriorates the efficiency of the search is not limited to the above-mentioned U-shape, and there are various forms.
  • correct answer information indicating the true value of the cost is prepared for each training map for all the nodes included in the training map. Determining the true value of the cost of all the nodes according to the search algorithm (ie, creating the correct answer information) takes time proportional to the number of nodes included in the training map, and as a result. The time and effort required to generate the route search module becomes large. Further, since the method of Non-Patent Document 1 employs the best-first search method, the search for the route having the lowest cost often fails.
  • the present invention has been made in view of such circumstances on one aspect, and an object of the present invention is to provide a technique for improving the efficiency of route search and reducing the time and effort required to generate a search module. Is.
  • the present invention adopts the following configuration in order to solve the above-mentioned problems.
  • the model generation device includes a data acquisition unit that acquires a plurality of learning data sets each composed of a combination of a training map and correct answer information indicating a recommended route in the training map, and the plurality of data acquisition units.
  • a neural network that is a learning processing unit that performs machine learning of a search module using the training data set of the above, and the search module is configured to estimate the cost of each of a plurality of nodes included in the input map. , An operation to extract one or more candidate nodes close to the transit node from a plurality of nodes included in the input map, and an estimation result of the neural network, so as to minimize the total cost.
  • the search module sets the start node as the first way node and the operation to extract until the target node is selected as the way node, including the operation of selecting the next way node from one or more candidate nodes. And by repeating the selected operation, it is configured to search the route from the start node to the target node, and the machine learning is the search by giving the training map as the input map for each training data set.
  • the route searched by the module is configured by training the search module to match the recommended route indicated by the correct answer information, and during the machine learning, in the forward propagation phase, the operations to be extracted and the selection.
  • each of the extracted operation and the selected operation is replaced with a differentiable alternative operation, and the extracted operation is performed by the differential calculation of the replaced alternative operation. It is provided with a learning processing unit that calculates an approximate gradient corresponding to the calculation and the differential calculation of each of the selected operations.
  • the search module (search model) provides a first calculation module configured to perform operations that estimate the cost of each node, and a path that minimizes the sum of costs based on the estimated cost. It includes a second calculation module configured to perform the operation to be searched.
  • the first calculation module is composed of a neural network.
  • the second calculation module is composed of an operation of extracting one or more candidate nodes close to the transit node and an operation of selecting the next transit node from the extracted one or more candidate nodes.
  • both the first calculation module and the second calculation module are treated as machine learning processing targets.
  • the configuration instead of preparing the true value of the cost for each training map, it is sufficient to prepare the correct answer information indicating the recommended route itself.
  • the search results, actual results, etc. of the existing algorithm can be adopted as the recommended route as they are. Therefore, compared to specifying the true value of the cost of all the nodes included in the training map, it is possible to reduce the work time and burden required for preparing the correct answer information. Therefore, according to the configuration, it is possible to reduce the time and effort required to generate the search module.
  • the search module is trained to optimally search for the recommended route, so that the cost of the area that deteriorates the efficiency of the search increases, so that the recommended route indicated by the correct answer information is used.
  • Neural networks can be trained indirectly. As a result, the efficiency of pathfinding can be appropriately improved by using the cost estimation result by the trained neural network.
  • the gradient of the error between the result of searching the path by the forward propagation calculation and the correct answer information is back-propagated in order from the output side. ..
  • all operations that back-propagate the gradient of the error are required to be differentiable, but the second route search is performed using the cost estimation result by the neural network.
  • the operation of the calculation module (that is, the operation of extracting one or more candidate nodes and the operation of selecting the next transit node from the extracted one or more candidate nodes) extracts the element corresponding to the condition for the set. It is an operation and cannot be differentiated. Therefore, it is not possible to carry out machine learning of the search module by a simple method.
  • the second calculation module a processing target of machine learning
  • the final result can be handled as correct answer information, and as a result, as described above, the time and effort required to generate the search module can be reduced. Although it can be done, it creates a new problem that it is difficult to carry out the machine learning by the known method.
  • the selected operation is one or more candidate nodes extracted based on the estimation result of the neural network so that the total cost is minimized by a predetermined search algorithm. May be configured to select the next transit node from. According to this configuration, it is possible to reduce the time and effort required to generate a search module configured to execute a predetermined search algorithm. Further, by using an existing search algorithm as a predetermined search algorithm, it is possible to further reduce the time and effort required to generate the search module.
  • the predetermined search algorithm may be a Dijkstra method, a best-first search method, or an A * search algorithm. According to this configuration, since the search module can be easily configured, the time and effort required to generate the search module can be further reduced.
  • each algorithm may include a transformation algorithm.
  • the training map may include a range that allows the movement of the moving body, and the recommended route indicated by the correct answer information is recommended for the moving body to move. It may be a route. According to this configuration, in a form of generating a search module that can be used for a movement plan of a moving body, it is possible to improve the efficiency of the route search and reduce the time and effort required to generate the search module.
  • the training map may include a range that allows the robot device to be driven, and the recommended path indicated by the correct answer information is recommended for the robot device to operate. It may be a route.
  • the training map in the form of generating a search module that can be used for robot motion planning, it is possible to improve the efficiency of the route search and reduce the time and effort required to generate the search module.
  • the model generator according to the above aspect can generate a trained search module that has acquired the ability to search for a route that minimizes the cost evaluated by an arbitrary index.
  • the recommended route may be the shortest route by adopting a distance as this evaluation index. According to this configuration, it is possible to improve the efficiency of searching for the shortest path and reduce the time and effort required to generate a search module that has acquired the ability to search for the shortest path.
  • the training map may be composed of images, and the nodes may be composed of pixels. According to this configuration, in the form of searching for a route in an image, it is possible to improve the efficiency of the route search and reduce the time and effort required to generate the search module.
  • the image may be composed of a real image or a binary image. According to this configuration, in the form of using a real image or a binary image, it is possible to improve the efficiency of the route search and reduce the time and effort required to generate the search module.
  • One aspect of the present invention may be a pathfinding device that utilizes a trained search module generated by the model generator.
  • one aspect of the present invention is a map acquisition unit that acquires a target map, and a search unit that searches for a route from a start node to a target node in the acquired target map using a trained search module.
  • the route search device may be configured to include an output unit that outputs information about the result of searching the route for the target map.
  • This route search device may be read as, for example, a planning device, a movement planning device, a guidance device, an operation planning device, a control device, or the like, depending on the type of task in the application scene.
  • the target map may include a range in which the moving body is allowed to move.
  • the search unit uses the trained search module to search for a recommended route for the moving body to move from the start node to the target node in the acquired target map. You may.
  • the target map may include a range in which the robot device can be driven.
  • the search unit uses the trained search module to search for a recommended route for the robot device to operate from the start node to the target node in the acquired target map. You may.
  • the information regarding the result of searching the route may be configured by navigation according to the searched route.
  • the recommended route can be efficiently searched, and movement guidance or motion control can be executed according to the search result (that is, the searched recommended route).
  • one aspect of the present invention may be an information processing method that realizes all or a part of each of the above configurations.
  • the storage medium that can be read by a computer or the like is a medium that stores information such as a program by electrical, magnetic, optical, mechanical, or chemical action.
  • one aspect of the present invention may be a path search system composed of a model generation device and a path search device according to any one of the above embodiments.
  • the model generation method includes a step in which a computer acquires a plurality of training data sets each composed of a combination of a training map and correct answer information indicating a recommended route in the training map, and the above-mentioned.
  • a neural network which is a step of performing machine learning of a search module using a plurality of training data sets, wherein the search module is configured to estimate the cost of each of the plurality of nodes included in the input map. Based on the calculation of extracting one or more candidate nodes close to the transit node from a plurality of nodes included in the input map and the estimation result of the neural network, the total cost is extracted 1 so as to be the minimum.
  • the search module includes an operation to select the next transit node from one or more candidate nodes.
  • the machine learning is configured to search for a route from a start node to a target node by repeating a selection operation, and the machine learning is a search module by giving the training map as the input map for each training data set.
  • the path searched by is configured by training the search module to match the recommended path indicated by the correct answer information, and during the machine learning, in the forward propagation phase, the extraction operation and the selection. While the operation is calculated as it is, in the back propagation phase, the extracted operation and the selected operation are each replaced with a differentiable alternative operation, and the extracted operation is performed by the differential calculation of the replaced alternative operation. And the information processing method of executing the step and the step of calculating the approximate gradient corresponding to the differential calculation of each of the selected operations.
  • the model generation program includes a step of acquiring a plurality of training data sets, each of which is composed of a combination of a training map and correct answer information indicating a recommended route in the training map, on a computer.
  • the search module is a neural configured to estimate the cost of each of the plurality of nodes included in the input map.
  • the total cost is extracted so as to be the minimum.
  • the search module sets the start node as the first way node and extracts it until the target node is selected as the way node, including the operation of selecting the next way node from one or more candidate nodes. It is configured to search for a route from a start node to a target node by repeating an operation and a selection operation, and the machine learning is described by giving the training map as the input map for each training data set.
  • the path searched by the search module is configured by training the search module so that it conforms to the recommended path indicated by the correct answer information, and during the machine learning, in the forward propagation phase, the computation to be extracted and the said.
  • While the selected operation is calculated as it is, in the back propagation phase, the extracted operation and the selected operation are each replaced with a differentiable alternative operation, and the extracted operation is performed by the differential calculation of the replaced alternative operation. It is a program for executing a step and a step of calculating an approximate gradient corresponding to the differential calculation of each of the operation to be performed and the operation to be selected.
  • FIG. 1 schematically illustrates an example of a map containing obstacles that reduce the efficiency of the search.
  • FIG. 2 schematically illustrates an example of a situation in which the present invention is applied.
  • FIG. 3 schematically illustrates an example of the hardware configuration of the model generator according to the embodiment.
  • FIG. 4 schematically illustrates an example of the hardware configuration of the path search device according to the embodiment.
  • FIG. 5 schematically illustrates an example of the software configuration of the model generator according to the embodiment.
  • FIG. 6 schematically illustrates an example of the software configuration of the pathfinding device according to the embodiment.
  • FIG. 7 is a flowchart showing an example of the processing procedure of the model generator according to the embodiment.
  • FIG. 8 is a flowchart showing an example of the processing procedure of the route search device according to the embodiment.
  • FIG. 11A shows the target map used for the evaluation.
  • FIG. 11B shows the target map used for the evaluation.
  • FIG. 11C shows the target map used for the evaluation.
  • FIG. 12A shows the result of searching the route in the target map of FIG. 11A by the A * search algorithm (comparative example) and the node targeted for the search.
  • FIG. 12B shows the result of searching the route in the target map of FIG. 11B by the A * search algorithm (comparative example) and the node targeted for the search.
  • FIG. 12C shows the result of searching the route in the target map of FIG.
  • FIG. 13A shows the result of estimating the cost of each node of the target map of FIG. 11A by the neural network of the embodiment.
  • FIG. 13B shows the result of estimating the cost of each node of the target map of FIG. 11B by the neural network of the embodiment.
  • FIG. 13C shows the result of estimating the cost of each node of the target map of FIG. 11C by the neural network of the embodiment.
  • FIG. 14A shows the result of searching the route in the target map of FIG. 11A by the search module of the embodiment and the node targeted for the search.
  • FIG. 14B shows the result of searching the route in the target map of FIG. 11B by the search module of the embodiment and the node targeted for the search.
  • FIG. 14C shows the result of searching the route in the target map of FIG. 11C by the search module of the embodiment and the node targeted for the search.
  • the present embodiment an embodiment according to one aspect of the present invention (hereinafter, also referred to as “the present embodiment”) will be described with reference to the drawings.
  • the embodiments described below are merely examples of the present invention in all respects. Needless to say, various improvements and modifications can be made without departing from the scope of the present invention. That is, in carrying out the present invention, a specific configuration according to the embodiment may be appropriately adopted.
  • the data appearing in the present embodiment are described in natural language, but more specifically, they are specified in a pseudo language, a command, a parameter, a machine language, etc. that can be recognized by a computer.
  • FIG. 2 schematically illustrates an example of a situation in which the present invention is applied.
  • the path search system 100 includes a model generation device 1 and a path search device 2.
  • the model generation device 1 is a computer configured to generate a trained search module 5 (trained search model) by machine learning.
  • the model generation device 1 according to the present embodiment acquires a plurality of learning data sets 3 each composed of a combination of a training map 31 and correct answer information 32 indicating a recommended route in the training map 31.
  • the model generation device 1 according to the present embodiment uses the acquired plurality of learning data sets 3 to perform machine learning of the search module 5.
  • the search module 5 has a first calculation module configured to execute an operation for estimating the cost of each of the plurality of nodes included in the input map, and the total cost is calculated based on the estimated cost. It includes a second calculation module configured to perform an operation to search for the smallest path.
  • the first calculation module is composed of the neural network 50.
  • the second calculation module is an operation for extracting one or more candidate nodes close to the transit node from a plurality of nodes included in the input map (hereinafter, also simply referred to as “extraction operation”) 51, and an estimation of the neural network 50.
  • the search module 5 sets the start node as the first transit node and repeats the extraction operation 51 and the selection operation 52 until the target node is selected as the transit node, thereby searching for a route from the start node to the target node. It is configured as follows. That is, the search module 5 is configured to search for the route that minimizes the cost by executing the above operations (1)-(4) using the first calculation module and the second calculation module. The module. The estimation result of the neural network 50 is used for the calculation of the above equation 1.
  • the extraction operation 51 corresponds to the above operations (3) and (B). Setting the start node as the first transit node and the selection operation 52 correspond to the operations (3) and (A) above.
  • Machine learning trains the search module 5 so that the route searched by the search module 5 conforms to the recommended route indicated by the correct answer information 32 by giving the training map 31 as an input map for each training data set 3. It is composed of.
  • the neural network 50 includes a plurality of arithmetic parameters such as the weight of the connection between each neuron and the threshold value of each neuron.
  • the model generation device 1 uses the search module 5 to try a route search for the training map 31 of each training data set 3.
  • the model generator 1 uses the neural network 50 to estimate the cost of each node included in the training map 31 of each training data set 3.
  • the model generation device 1 inputs the training map 31 to the neural network 50 and executes the arithmetic processing of the forward propagation of the neural network 50.
  • the model generator 1 can obtain the estimation result 60 of the cost of each node included in the training map 31.
  • the model generator 1 sets the start node S1 as the first transit node.
  • the model generation device 1 uses the obtained estimation result 60 and repeats the extraction operation 51 and the selection operation 52 until the target node G1 is selected as the transit node.
  • search result a result of searching for a route with respect to the training map 31 (hereinafter, also referred to as “search result”) 62. can.
  • the model generation device 1 calculates an error between the search result 62 and the recommended route (correct answer) indicated by the correct answer information 32.
  • the model generation device 1 adjusts the value of each calculation parameter of the neural network 50 by back-propagating the gradient of the error calculated by the error back-propagation method.
  • Training the search module 5 is neural so that a search result 62 that matches the correct answer information 32 can be obtained by this series of processes (that is, a search trial process by forward propagation and a calculation parameter adjustment process by back propagation). It is configured by adjusting the value of each calculation parameter of the network 50.
  • the model generator 1 calculates the extraction calculation 51 and the selection calculation 52 as they are in the forward propagation (trial of search) phase, whereas in the back propagation (adjustment of calculation parameters) phase, the model generation device 1 calculates.
  • Each of the extraction operation 51 and the selection operation 52 is replaced with a differentiable alternative operation, and the approximate gradient corresponding to each of the extraction operation 51 and the selection operation 52 is calculated by the differential calculation of the replaced alternative operation. That is, the model generation device 1 adopts the extraction calculation 51 and the selection calculation 52 as they are in the phase of the machine learning processing process in which the search is tried, and obtains the search result 62 for the training map 31 of each learning data set 3. obtain.
  • both the extraction operation 51 and the selection operation 52 cannot be differentiated, and the gradient of the error cannot be back-propagated as it is. Therefore, in the phase in which the gradient of the error derived by the trial phase is back-propagated, the model generator 1 extracts the approximate gradient calculated by the differential calculation of the alternative operation, respectively, as the result of the differential calculation of the extraction operation 51 and the selection operation 52. The gradient of the error is back-propagated and the value of each arithmetic parameter of the neural network 50 is adjusted.
  • the content of the alternative operation of the extraction operation 51 is not particularly limited as long as it is an operation that can calculate the approximate gradient of the extraction operation 51, and may be appropriately determined according to the embodiment.
  • the alternative operation of the extraction operation 51 is composed of, for example, a linear convolution function using a fixed-size rectangular filter, a graph convolution operation using a fixed-size graph, or a function similar thereto, and is often composed of an approximate gradient of the extraction operation 51. May be the gradient of the function.
  • the alternative operation of the extraction operation 51 may be configured by the look-up table corresponding to the function.
  • the content of the alternative operation of the selection operation 52 is not particularly limited as long as it is an operation capable of calculating the approximate gradient of the selection operation 52, and may be appropriately determined according to the embodiment.
  • the alternative operation of the selection operation 52 is composed of, for example, a straight-through soft-min function, a straight-through soft-min with temperature, a weighted straight-through soft-min, a straight-through Gumbel softmin function, or a function similar thereto.
  • the approximate gradient of the selection operation 52 may be the gradient of the function.
  • the model generator 1 can generate a trained search module 5 that has acquired the ability to search for the recommended route with the lowest cost for the input map.
  • the path search device 2 is a computer configured to perform a route search for a given map by using the trained search module 5.
  • the route search device 2 acquires the target map 221 to be the target of the route search.
  • the route search device 2 searches for a route from the start node S2 to the target node G2 in the acquired target map 221 using the trained search module 5.
  • the path search device 2 inputs the target map 221 to the trained neural network 50 and executes the arithmetic processing of the forward propagation of the trained neural network 50, as in the trial phase of the model generation device 1.
  • the route search device 2 can obtain the cost estimation result 223 of each node included in the target map 221 by this arithmetic processing. Subsequently, the route search device 2 sets the start node S2 as the first transit node. Then, the route search device 2 uses the obtained estimation result 223 and repeats the extraction operation 51 and the selection operation 52 until the target node G2 is selected as the transit node. In the calculation of the second calculation module, the route search device 2 adopts the extraction calculation 51 and the selection calculation 52 as they are, as in the trial phase of the model generation device 1.
  • the route search device 2 can obtain a result (hereinafter, also referred to as "search result") 225 of searching for a route with respect to the target map 221. Then, the route search device 2 outputs information regarding the route search result 225 for the target map 221.
  • the route search device 2 may be read as a planning device, a movement planning device, a guidance device, an operation planning device, a control device, or the like, depending on the type of task in the application scene.
  • the map data format is particularly limited as long as the map (training map 31, target map 221) handled in this embodiment includes a plurality of nodes and is appropriately configured to be a processing target of the route search. It does not have to be, and may be appropriately selected according to the embodiment.
  • the map (training map 31, target map 221) may be represented in a list format, a graph format, or the like. Obstacles (immovable areas) may be represented by the presence or absence of connections between nodes, information given to the nodes, and the like.
  • the map may be composed of an image (image data).
  • the node may be composed of pixels.
  • the image can be treated as a graph of a two-dimensional grid composed of four or eight neighboring nodes connected to each node.
  • the four proximity nodes are four pixels arranged on the top, bottom, left, and right of the target pixel.
  • the eight proximity nodes are eight pixels that surround the target pixel.
  • This image may be composed of a real image or a binary image.
  • the actual image may be an image generated by taking a range in which the moving object is allowed to move, such as an aerial photograph or a photograph taken by a drone.
  • the actual image may be, for example, an image generated by photographing a robot's motion range such as a work site.
  • Each pixel of the binary image may be appropriately configured to represent a movable region and a non-movable region as binary values.
  • the binary image may be generated by appropriately binarizing the real image.
  • the model generation device 1 by using an image as a map, it is possible to generate a trained search module 5 that has acquired the ability to search a route in an image by the above machine learning.
  • the correct answer information 32 may be appropriately configured to indicate the correct answer of the recommended route in the training map 31.
  • the data format of the correct answer information 32 may be appropriately selected according to the representation of the search result of the route.
  • the route search result is composed of an image
  • an example of the correct answer information 32 may be composed of an image showing the correct answer of the recommended route (in FIG. 2, an example of the image is shown).
  • the numerical expression of the cost may be set as appropriate.
  • the cost may be expressed as being proportional to the number (ie, the higher the number, the higher the cost).
  • the cost may be expressed as being inversely proportional to the numerical value (ie, the smaller the numerical value, the higher the cost). Focusing on the non-recommendation, the cost may be read as, for example, a load, a penalty, and the like. On the contrary, focusing on the recommendation, the cost may be read as, for example, the degree of recommendation, the reward, and the like.
  • cost minimization may be replaced by maximization of recommendations and the like.
  • the index for evaluating the cost may be designed from any viewpoint. In the present embodiment, the cost will be described as being designed so that the higher the degree of non-recommendation, the higher the value for convenience.
  • the selection operation 52 may be replaced with selecting the element with the largest value from selecting the element with the smallest value.
  • the alternative operation of the selection operation 52 may be replaced as appropriate.
  • the alternative operation of the selection operation 52 is, for example, a straight-through soft-max function, a straight-through soft-max with temperature, a weighted straight-through soft-max, a straight-through Gumbel softmax function, or similar thereof. It may consist of a function that does.
  • the index for evaluating the degree of the above recommendation may be, for example, distance, time, cost, degree of risk, degree of congestion, degree of attractiveness, or the like.
  • the distance may be adopted as an evaluation index.
  • the cost may be set to be higher as the distance increases.
  • the recommended route to be searched is the shortest route (the route that minimizes the distance) from the start node to the target node.
  • time may be adopted as an evaluation index.
  • the cost may be set to be higher as time goes by.
  • the recommended route to be searched is the route that minimizes the time required to move from the start node to the target node.
  • cost may be adopted as an evaluation index.
  • the cost may be set to be higher as the cost increases.
  • the recommended route to be searched is the route that minimizes the cost of traveling from the start node to the target node.
  • the cost may be, for example, a fuel cost, an electricity cost, a transportation charge, a highway charge, or the like.
  • the degree of risk may be adopted as an evaluation index.
  • the cost may be set so that the higher the risk, the higher the cost.
  • the recommended route to be searched is the one with the least risk (ie, the most secure) of travel from the start node to the target node.
  • the degree of risk may be set according to the risk that the moving object encounters an accident such as an accident or a crime.
  • the risk level may be set according to the failure risk such as collision or destruction.
  • the degree of congestion may be adopted as an evaluation index.
  • the cost may be set to be higher as the degree of congestion increases.
  • the recommended route to be searched is a route that avoids crowded areas. Congested places are, for example, places with high density of people (when searching for the movement route of people), places with congestion (when searching for the movement route of vehicles), and places with dense obstacles (when searching for the movement route of vehicles). (When searching for the operation path of a robot device), etc.
  • attractiveness may be adopted as an evaluation index.
  • the cost may be set to be higher as the attractiveness becomes lower.
  • the recommended route to be searched is a route that goes through a highly attractive place.
  • the attractiveness may be given according to an artificial index such as good or bad of the landscape (when searching the movement path of the moving object), splendor of the movement (when searching the movement path of the robot device), and the like. ..
  • the cost may be appropriately designed according to the application situation.
  • the cost may be designed by using the above-mentioned plurality of indicators in combination.
  • the trained search module 5 having acquired the ability to search the recommended route according to the designed cost can be generated by the above machine learning.
  • the model generation device 1 does not handle only the first calculation module (neural network 50) as the target of machine learning, but the first calculation module and the second calculation module (extraction calculation 51 and). Both of the selection calculation 52) are treated as the target of machine learning.
  • the present embodiment it is not necessary to prepare the true value of the cost for each training map 31, and it is sufficient to prepare the correct answer information 32 indicating the recommended route itself. Therefore, it is not necessary to search all the nodes included in the training map 31, and for example, the search results, actual results, etc. of the existing algorithm can be adopted as the recommended route as they are.
  • the search module 5 is trained to search the recommended route optimally, so that the recommendation shown in the correct answer information 32 increases the cost of the area that deteriorates the efficiency of the search.
  • the neural network 50 can be indirectly trained from the path. As a result, in the path search device 2, the efficiency of the route search can be appropriately improved by using the cost estimation result 223 by the trained neural network 50.
  • the model generation device 1 calculates the extraction operation 51 and the selection operation 52 as they are in the forward propagation phase, while the extraction operation is performed in the back propagation phase. 51 and selection operation 52 are replaced with differentiable alternative operations. Then, the model generation device 1 calculates an approximate gradient corresponding to the differential calculation of each of the extracted operation and the selected operation by the differential calculation of the replaced alternative operation. Thereby, even if the non-differentiable operation (extraction operation 51 and selection operation 52) is included, the machine learning of the search module 5 (particularly, the adjustment of the operation parameter of the neural network 50) can be appropriately performed.
  • the model generation device 1 and the route search device 2 are connected to each other via a network.
  • the type of network may be appropriately selected from, for example, the Internet, a wireless communication network, a mobile communication network, a telephone network, a dedicated network, and the like.
  • the method of exchanging data between the model generation device 1 and the route search device 2 does not have to be limited to such an example, and may be appropriately selected depending on the embodiment.
  • data may be exchanged between the model generation device 1 and the route search device 2 by using a storage medium.
  • the model generation device 1 and the route search device 2 are each configured by a separate computer.
  • the configuration of the route search system 100 according to the present embodiment does not have to be limited to such an example, and may be appropriately determined according to the embodiment.
  • the model generation device 1 and the route search device 2 may be an integrated computer.
  • at least one of the model generation device 1 and the route search device 2 may be configured by a plurality of computers.
  • FIG. 3 schematically illustrates an example of the hardware configuration of the model generator 1 according to the present embodiment.
  • the control unit 11, the storage unit 12, the communication interface 13, the external interface 14, the input device 15, the output device 16, and the drive 17 are electrically connected. It is a computer that has been used.
  • the communication interface and the external interface are described as "communication I / F" and "external I / F".
  • the control unit 11 includes a CPU (Central Processing Unit), RAM (RandomAccessMemory), ROM (ReadOnlyMemory), etc., which are hardware processors, and is configured to execute information processing based on a program and various data.
  • the storage unit 12 is an example of a memory, and is composed of, for example, a hard disk drive, a solid state drive, or the like. In the present embodiment, the storage unit 12 stores various information such as the model generation program 81, the plurality of learning data sets 3, and the learning result data 125.
  • the model generation program 81 is a program for causing the model generation device 1 to execute machine learning information processing (FIG. 7), which will be described later, to generate a trained search module 5.
  • the model generation program 81 includes a series of instructions for the information processing.
  • the plurality of training data sets 3 are used to generate the trained search module 5.
  • the training result data 125 shows information about the generated trained search module 5.
  • the learning result data 125 is generated as a result of executing the model generation program 81. Details will be described later.
  • the communication interface 13 is, for example, a wired LAN (Local Area Network) module, a wireless LAN module, or the like, and is an interface for performing wired or wireless communication via a network.
  • the model generation device 1 can execute data communication via a network with another information processing device by using the communication interface 13.
  • the external interface 14 is, for example, a USB (Universal Serial Bus) port, a dedicated port, or the like, and is an interface for connecting to an external device.
  • the type and number of external interfaces 14 may be arbitrarily selected.
  • the model generator 1 may be connected to a device (eg, a camera, another computer, etc.) for obtaining the training map 31 via at least one of the communication interface 13 and the external interface 14.
  • the input device 15 is, for example, a device for inputting a mouse, a keyboard, or the like.
  • the output device 16 is, for example, a device for outputting a display, a speaker, or the like. An operator such as a user can operate the model generation device 1 by using the input device 15 and the output device 16.
  • the drive 17 is, for example, a CD drive, a DVD drive, or the like, and is a drive device for reading various information such as a program stored in the storage medium 91.
  • the storage medium 91 performs electrical, magnetic, optical, mechanical or chemical action on the information of the program or the like so that the computer or other device, the machine or the like can read various information of the stored program or the like. It is a medium that accumulates by. At least one of the model generation program 81 and the plurality of training data sets 3 may be stored in the storage medium 91.
  • the model generation device 1 may acquire at least one of the model generation program 81 and the plurality of training data sets 3 from the storage medium 91. Note that FIG.
  • the type of the storage medium 91 is not limited to the disc type, and may be other than the disc type.
  • Examples of storage media other than the disk type include semiconductor memories such as flash memories.
  • the type of the drive 17 may be arbitrarily selected according to the type of the storage medium 91.
  • the control unit 11 may include a plurality of hardware processors.
  • the hardware processor may be composed of a microprocessor, FPGA (field-programmable gate array), DSP (digital signal processor), or the like.
  • the storage unit 12 may be composed of a RAM and a ROM included in the control unit 11. At least one of the communication interface 13, the external interface 14, the input device 15, the output device 16, and the drive 17 may be omitted.
  • the model generator 1 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match. Further, the model generation device 1 may be a general-purpose server device, a PC (Personal Computer), or the like, in addition to an information processing device designed exclusively for the provided service.
  • FIG. 4 schematically illustrates an example of the hardware configuration of the path search device 2 according to the present embodiment.
  • the control unit 21, the storage unit 22, the communication interface 23, the external interface 24, the input device 25, the output device 26, and the drive 27 are electrically connected. It is a computer that has been used.
  • the control units 21 to drive 27 and the storage medium 92 of the route search device 2 may be configured in the same manner as the control units 11 to drive 17 and the storage medium 91 of the model generation device 1, respectively.
  • the control unit 21 includes a CPU, RAM, ROM, etc., which are hardware processors, and is configured to execute various information processing based on programs and data.
  • the storage unit 22 is composed of, for example, a hard disk drive, a solid state drive, or the like. In the present embodiment, the storage unit 22 stores various information such as the route search program 82 and the learning result data 125.
  • the route search program 82 is a program for causing the route search device 2 to execute information processing (FIG. 8) described later, which executes a route search task using the trained search module 5.
  • the route search program 82 includes a series of instructions for the information processing. At least one of the route search program 82 and the learning result data 125 may be stored in the storage medium 92. Further, the path search device 2 may acquire at least one of the path search program 82 and the learning result data 125 from the storage medium 92.
  • the route search device 2 may be connected to a device (for example, a camera, another computer, etc.) for obtaining the target map 221 via at least one of the communication interface 23 and the external interface 24.
  • a device for example, a camera, another computer, etc.
  • the control unit 21 may include a plurality of hardware processors.
  • the hardware processor may be composed of a microprocessor, FPGA, DSP and the like.
  • the storage unit 22 may be composed of a RAM and a ROM included in the control unit 21. At least one of the communication interface 23, the external interface 24, the input device 25, the output device 26, and the drive 27 may be omitted.
  • the route search device 2 may be composed of a plurality of computers. In this case, the hardware configurations of the computers may or may not match.
  • the route search device 2 includes an information processing device designed exclusively for the provided service, a general-purpose server device, a general-purpose PC, a mobile terminal (for example, a smartphone), a tablet PC, a PLC (programmable logic controller), and the like. It may be.
  • FIG. 5 schematically illustrates an example of the software configuration of the model generator 1 according to the present embodiment.
  • the control unit 11 of the model generation device 1 expands the model generation program 81 stored in the storage unit 12 into the RAM. Then, the control unit 11 controls each component by interpreting and executing the instruction included in the model generation program 81 expanded in the RAM by the CPU.
  • the model generation device 1 operates as a computer including a data acquisition unit 111, a learning processing unit 112, and a storage processing unit 113 as software modules. That is, in this embodiment, each software module of the model generation device 1 is realized by the control unit 11 (CPU).
  • the data acquisition unit 111 is configured to acquire a plurality of learning data sets 3.
  • Each learning data set 3 is composed of a combination of the training map 31 and the correct answer information 32.
  • the training map 31 is configured to include a plurality of nodes.
  • Each node may correspond to any position in real space or virtual space.
  • each node may correspond to an arbitrary point in a spatial region that allows the moving body to move.
  • each node may correspond to an arbitrary point in the work area of the robot device.
  • each node may correspond to an arbitrary geographical point such as a transportation base.
  • the training map 31 may be composed of an image, and each node may be composed of each pixel included in the image.
  • the image may be a real image or a binary image.
  • the correct answer information 32 is configured to indicate the correct answer of the recommended route from the start node S1 to the target node G1 in the training map 31.
  • the learning processing unit 112 is configured to perform machine learning of the search module 5 using the acquired plurality of learning data sets 3.
  • the search module 5 is configured to include a neural network 50, an extraction operation 51, and a selection operation 52.
  • the neural network 50 is configured to estimate the cost of each of the plurality of nodes included in the input map.
  • the extraction operation 51 is configured to extract one or more candidate nodes close to the transit node from a plurality of nodes included in the input map.
  • the selection operation 52 selects the next transit node from one or more candidate nodes extracted so that the total cost from the start node to the target node is minimized based on the estimation result of the neural network 50. It is composed of.
  • the search module 5 sets the start node as the first transit node and repeats the extraction operation 51 and the selection operation 52 until the target node is selected as the transit node, thereby searching for a route from the start node to the target node. It is configured as follows.
  • the path searched by the search module 5 matches the correct answer of the recommended path indicated by the correct answer information 32 by giving the training map 31 as an input map for each training data set 3 by the error back propagation method. It is configured by training the search module 5.
  • the learning processing unit 112 calculates the extraction operation 51 and the selection operation 52 as they are in the forward propagation (search trial) phase, whereas the extraction operation 51 and the selection operation in the back propagation phase. 52 Each is replaced with a differentiable alternative operation, and the approximate gradient corresponding to each of the extraction operation 51 and the selection operation 52 is calculated by the differential calculation of the replaced alternative operation.
  • the storage processing unit 113 is configured to generate information about the trained search module 5 generated by machine learning as learning result data 125, and store the generated learning result data 125 in a predetermined storage area.
  • the training result data 125 may be appropriately configured to include information for reproducing the trained search module 5.
  • the neural network 50 included in the search module 5 is a fully connected neural network, and is an input layer 501, one or more intermediate (hidden) layers 502, and an output layer 503. It is equipped with.
  • the input layer 501 is configured to accept the input of the map for which the cost of each node is estimated.
  • the cost can be affected by the location of obstacles, etc. in the map, as well as the location of the start node and target node. Therefore, the input layer 501 may be configured to further accept the input of information of at least one of the start node and the target node together with the map.
  • the output layer 503 is configured to output the cost estimation result of each node included in the input map.
  • the number of intermediate layers 502 may be appropriately determined according to the embodiment.
  • Each layer 501-503 includes one or more neurons (nodes).
  • the number of neurons contained in each layer 501 to 503 may be appropriately determined according to the embodiment.
  • the number of neurons in the input layer 501 may be appropriately determined according to the input form such as the number of dimensions of the input.
  • the number of neurons in the output layer 503 may be appropriately determined according to the output form such as the number of dimensions of the output.
  • each neuron contained in each layer 501-503 is connected to all neurons in adjacent layers.
  • a weight (bonding load) is set for each bond of each layer 501 to 503.
  • a threshold is set for each neuron, and basically, the output of each neuron is determined by whether or not the sum of the products of each input and each weight exceeds the threshold.
  • the threshold value may be expressed by an activation function. In this case, the output of each neuron is determined by inputting the sum of the products of each input and each weight into the activation function and executing the operation of the activation function.
  • the type of activation function may be arbitrarily selected.
  • the weight of the connection between each neuron and the threshold value of each neuron included in each layer 501 to 503 are examples of arithmetic parameters.
  • the learning processing unit 112 uses the training map 31 of each learning data set 3 as training data (input data) and the correct answer information 32 as correct answer data (teacher signal, label).
  • the learning processing unit 112 inputs the training map 31 of each learning data set 3 to the input layer 501, and executes the arithmetic processing of the forward propagation of the neural network 50.
  • the learning processing unit 112 acquires the cost estimation result 60 of each node included in the training map 31 from the output layer 503.
  • the learning processing unit 112 sets the start node S1 as the first transit node.
  • the learning processing unit 112 uses the obtained estimation result 60 and repeats the extraction operation 51 and the selection operation 52 until the target node G1 is selected as the transit node.
  • the learning processing unit 112 calculates the extraction calculation 51 and the selection calculation 52 as they are.
  • the learning processing unit 112 acquires the search result 62 of the route for the training map 31.
  • the learning processing unit 112 calculates an error between the obtained search result 62 and the correct answer indicated by the correct answer information 32 associated with the input training map 31. Then, the learning processing unit 112 calculates the gradient of the error, back-propagates the calculated gradient of the error by the error back-propagation method, and adjusts the value of each calculation parameter. In this back propagation calculation process, the learning processing unit 112 adopts each of the approximate gradients calculated by the differential calculation of the alternative calculation as the result of the differential calculation of each of the extraction calculation 51 and the selection calculation 52.
  • the learning processing unit 112 repeats the above series of processes for adjusting the value of each calculation parameter so that the sum of the calculated errors becomes small for each learning data set 3. As a result of this machine learning, it is possible to generate a trained search module 5 that has acquired the ability to search for the recommended route with the lowest cost for the input map.
  • the storage processing unit 113 generates learning result data 125 for reproducing the trained search module 5 generated by the machine learning.
  • the configuration of the training result data 125 is not particularly limited and may be appropriately determined according to the embodiment.
  • the learning result data 125 may include information indicating the value of each arithmetic parameter obtained by the adjustment of the machine learning.
  • the training result data 125 may include information indicating at least one of the structure of the neural network 50, the content of the extraction operation 51, and the content of the selection operation 52.
  • the structure of the neural network 50 may be specified, for example, by the number of layers from the input layer to the output layer, the type of each layer, the number of neurons included in each layer, the connection relationship between neurons in adjacent layers, and the like.
  • the storage processing unit 113 stores the generated learning result data 125 in a predetermined storage area.
  • FIG. 6 schematically illustrates an example of the software configuration of the path search device 2 according to the present embodiment.
  • the control unit 21 of the route search device 2 expands the route search program 82 stored in the storage unit 22 into the RAM. Then, the control unit 21 controls each component by interpreting and executing the instruction included in the path search program 82 expanded in the RAM by the CPU.
  • the route search device 2 operates as a computer including the map acquisition unit 211, the search unit 212, and the output unit 213 as software modules. That is, in the present embodiment, each software module of the path search device 2 is also realized by the control unit 21 (CPU) in the same manner as the model generation device 1.
  • the map acquisition unit 211 is configured to acquire the target map 221 that is the target of the route search task.
  • the search unit 212 includes the trained search module 5 by holding the learning result data 125.
  • the search unit 212 is configured to search for a route from the start node S2 to the target node G2 in the acquired target map 221 using the trained search module 5. That is, the search unit 212 inputs the acquired target map 221 to the input layer 501 of the trained neural network 50, and executes the arithmetic processing of the forward propagation of the trained neural network 50. By this arithmetic processing, the search unit 212 can acquire the cost estimation result 223 of each node included in the target map 221 from the output layer 503.
  • the search unit 212 uses the obtained estimation result 223 and repeats the extraction operation 51 and the selection operation 52 until the target node G2 is selected as the transit node.
  • the search unit 212 adopts the extraction calculation 51 and the selection calculation 52 as they are, as in the machine learning forward propagation phase (search trial phase).
  • the search unit 212 is configured to acquire the search result 225 of the route for the target map 221.
  • the output unit 213 is configured to output information regarding the obtained search result 225.
  • each software module of the model generation device 1 and the route search device 2 will be described in detail in an operation example described later.
  • an example in which each software module of the model generation device 1 and the path search device 2 is realized by a general-purpose CPU is described.
  • some or all of the software modules may be implemented by one or more dedicated processors (eg, graphics processing units).
  • Each of the above modules may be realized as a hardware module.
  • software modules may be omitted, replaced, or added as appropriate according to the embodiment.
  • FIG. 7 is a flowchart showing an example of a processing procedure related to machine learning by the model generation device 1 according to the present embodiment.
  • the processing procedure of the model generation device 1 described below is an example of a model generation method.
  • the processing procedure of the model generation device 1 described below is only an example, and each step may be changed as much as possible. Further, regarding the following processing procedure, steps may be omitted, replaced, and added as appropriate according to the embodiment.
  • Step S101 the control unit 11 operates as the data acquisition unit 111 to acquire a plurality of learning data sets 3.
  • Each learning data set 3 may be generated as appropriate.
  • a training map 31 including a plurality of nodes constituting the search space is generated.
  • the search space may be set according to the purpose of a task such as a movement plan of a moving object, an operation plan of a robot device, or a transfer plan of transportation. Further, the search space may be set on the real space or the virtual space.
  • the training map 31 may be manually generated as appropriate. By modifying at least a portion of the search space, a plurality of different training maps 31 may be generated.
  • the training map 31 may be generated by photographing a spatial area that can be a target of the route search with a camera.
  • a binary image is used for the map, the training map 31 may be generated by binarizing each pixel of the real image obtained by the camera by an arbitrary method. The binary image may be generated manually.
  • the training map 31 may be composed of a plurality of images.
  • correct answer information 32 indicating the correct answer of the recommended route from the start node to the target node is generated.
  • the recommended route may be obtained as appropriate.
  • the recommended route may be given manually by the operator.
  • the recommended route may be obtained by executing an existing search algorithm such as Dijkstra's algorithm, best-first search method, A * search algorithm, etc. on the training map 31.
  • an existing search algorithm such as Dijkstra's algorithm, best-first search method, A * search algorithm, etc.
  • the actual results obtained by actually moving from the start node to the target node in the search space or making a plan thereof are used as a recommended route. May be good.
  • the correct answer indicated by at least a part of the correct answer information 32 does not necessarily have to be the route with the minimum total cost.
  • the cost may be evaluated according to, for example, distance, time, cost, risk, congestion, attractiveness, and the like.
  • the correct answer information 32 may be configured to indicate the shortest distance as the correct answer of the recommended route.
  • the data format of the correct answer information 32 is not particularly limited as long as the recommended route can be expressed, and may be appropriately selected according to the embodiment.
  • the correct answer information 32 may also be composed of an image, and the recommended route may be shown on the image.
  • each training data set 3 can be generated. It should be noted that a plurality of pairs of start nodes and target nodes may be generated so that at least one of the start node and the target node is different for the same training map 31. Correct answer information 32 may be generated for each generated pair, and the generated correct answer information 32 for each pair may be associated with the training map 31. Thereby, a plurality of different training data sets 3 may be generated from the same training map 31.
  • Each learning data set 3 may be automatically generated by the operation of a computer, or may be manually generated by at least partially including an operator operation. Further, the generation of each training data set 3 may be performed by the model generation device 1 or may be performed by a computer other than the model generation device 1.
  • the control unit 11 automatically or manually executes the above generation process by the operation of the operator via the input device 15, so that each learning data set is generated. 3 may be acquired.
  • the control unit 11 may acquire each learning data set 3 generated by the other computer via, for example, a network, a storage medium 91, or the like. ..
  • a part of the plurality of training data sets 3 may be generated by the model generator 1, and the others may be generated by one or a plurality of other computers.
  • the number of learning data sets 3 to be acquired is not particularly limited, and may be appropriately determined according to the embodiment so that machine learning can be carried out.
  • the control unit 11 proceeds to the next step S102.
  • step S102 the control unit 11 operates as the learning processing unit 112, and uses the acquired plurality of learning data sets 3 to perform machine learning of the search module 5.
  • the initial setting of the search module 5 to be processed by machine learning is performed.
  • the structure of the neural network 50 for example, the number of layers, the type of each layer, the number of neurons contained in each layer, the connection relationship between neurons in adjacent layers, etc.
  • each The initial values of the operation parameters are given as appropriate.
  • the structure of the neural network 50 and the initial values of each arithmetic parameter may be given by a template or by input of an operator.
  • the initial setting of the neural network 50 may be performed based on the learning result data obtained by the past machine learning.
  • the candidate node extracted by the extraction operation 51 (that is, the node adjacent to the transit node) is a node that is a candidate to pass next to the transit node, and is typically a node adjacent to the transit node.
  • the candidate node extracted by the extraction operation 51 may include, for example, a node that can be moved (transitioned) from the transit node within a certain cost, in addition to the node physically adjacent to the transit node.
  • the extraction operation 51 is performed by one or more candidate nodes (set V SUCC ⁇ ) that are close to the designated transit node (v * ).
  • V) may be appropriately configured to be extracted from the set (V) of nodes included in the input map and the extracted candidate nodes to be added to the set O.
  • the selection operation 52 selects the next transit node with the minimum cost from the set O based on the cost estimation result by the neural network 50, and sets the selected nodes. It may be appropriately configured to be added to C and removed from the set O.
  • the cost function f (v) (Equation 1) for calculating the cost may be arbitrarily set. That is, the search algorithm adopted in the search module 5 is not particularly limited as long as it searches for a route by extracting and selecting a node, and may be appropriately selected according to the embodiment.
  • the selection operation 52 may be configured to select the next transit node from one or more extracted candidate nodes so that the sum of costs is minimized by a predetermined search algorithm.
  • the predetermined search algorithm may be, for example, Dijkstra's algorithm, best-first search algorithm, or A * search algorithm. That is, the selection operation 52 may be constructed by using an existing search algorithm. This makes it possible to reduce the time and effort required to construct the search module 5.
  • each algorithm may include a transformation algorithm (algorithm derived from the original algorithm).
  • a given search algorithm may include a modified Dijkstra method, a modified best-first search algorithm, and a modified A * search algorithm.
  • Etc. may include a variant A * search algorithm.
  • the output of the neural network 50 (that is, the estimation result 60) may be configured so that the value of the cost function f (v) of the above equation 1 can be derived for each node included in the input map.
  • the evaluation function f (v) (the above equation 1) of each node may be replaced with the following equation 2.
  • ⁇ (n) indicates the cost of the node n estimated by the neural network 50.
  • P (v, vs ) indicates a sequence (set) of nodes with the minimum cost from the start node vs to the node v.
  • the information of the transit node is linked as the parent node of the candidate node. By holding it in the form of a list or the like, it may be updated sequentially.
  • the values of a and b may be appropriately determined depending on the algorithm to be adopted.
  • h (v, v g ) is the expected cost of moving from node v to target node v g , as described above.
  • h (v, v g ) may be calculated without using the estimation result of the neural network 50.
  • h (v, v g ) may be calculated from existing indicators such as the Euclidean distance from the node v to the target node v g , the Manhattan distance, and the like.
  • h (v, v g ) may also be calculated using the estimation result of the neural network 50, similarly to the term of ⁇ (m).
  • the search module 5 is configured to be able to search for the route with the minimum cost by executing the extraction operation 51 and the selection operation 52 using the estimation result obtained by the neural network 50.
  • the original A * search algorithm or the modified A * search algorithm is adopted as the search algorithm, and the neural network is used as the calculation method of h (v, v g ).
  • An example in which the estimation result of 50 is not used shall be adopted.
  • the neural network 50 can use, for example, a sigmoid function in the output layer.
  • the cost estimation result of each node may be output as a two-dimensional image (the value of each pixel is [0, 1]).
  • the map (binary image) may be configured such that the value of the obstacle node is 0 and the value of the movable node is 1.
  • the start node vs s may be represented by a binary image in which the value of the start node vs s is 1 and the other values are 0.
  • the target node vg may be represented by a binary image in which the value of the target node vg is 1 and the other values are 0.
  • the set C and the set O may also be represented by a binary image in which the value of the node belonging to the set is 1 and the other values are 0.
  • the selection operation 52 may be given by the following equation 3.
  • Equation 3 the node having the smallest f can be selected from the nodes belonging to the set O.
  • v * in Equation 3 can be represented by a binary image (one-hot map) in which the value of the node selected by argmax is 1 and the value of the other nodes is 0.
  • the set C may be updated by the following equation 4.
  • the set O may be updated by the following equation 5.
  • the binary image representing the set C is initialized with the values of all the nodes to 0
  • the binary image representing the set O is the binary image representing the start node vs.
  • the set C is represented by a binary image in which the value of the searched node is 1 and the value of the unsearched node is 0. That is, the set C after the end of the search is represented by the total binary image obtained by adding all the v * obtained in the search process.
  • the extraction operation 51 may be given by the following equation 6, and the set O may be updated by the following equation 7 by the extraction operation 52.
  • N indicates a filter expressing "proximity". For example, when filtering four proximity nodes, N may be [[0,1,0], [1,0,1], [0,1,0]] and filters eight proximity nodes. If so, N may be [[1,1,1], [1,0,1], [1,1,1]].
  • the operator "*" indicates a convolution operation. I represent an input map (a binary image configured such that the value of the node of the obstacle is 0 and the value of the movable node is 1.).
  • the operator " ⁇ odot” indicates the Hadamard product (element product).
  • the forward propagation operation of the second calculation module composed of the extraction operation 51 and the selection operation 52 can be expressed as the following (i)-(iii) processing.
  • the selection operation 52 (Equation 3) is executed.
  • the set C is updated by the equation 4. If the node v * to be added to the set C is the target node vg , the route search ends.
  • the extraction operation 51 (Equation 6) and the update of the set O by the equations 5 and 7 are executed, and the process returns to (i).
  • the forward propagation calculation of the second calculation module is executed after the forward propagation calculation of the neural network 50 (first calculation module) is completed.
  • the neural network 50, the extraction operation 51, and the selection operation 52 may be configured as described above by initial setting.
  • control unit 11 gives the training map 31 as an input map for each learning data set 3, and the route searched by the search module 5 is the recommended route indicated by the correct answer information 32. Train the search module 5 to match the correct answer.
  • a stochastic gradient descent method, a mini-batch gradient descent method, or the like may be used.
  • the control unit 11 tries to search the route for the training map 31 of each learning data set 3 by using the search module 5. That is, the control unit 11 inputs the training map 31 of each learning data set 3 to the input layer 501 of the neural network 50.
  • the control unit 11 together with the training map 31, of the start node S1 and the target node G1 of the training map 31 At least one piece of information is further input to the input layer 501.
  • the control unit 11 executes the arithmetic processing of the forward propagation of the neural network 50 (first calculation module).
  • the control unit 11 acquires the cost estimation result 60 of each node included in the training map 31 from the output layer 503. Subsequently, the control unit 11 executes the forward propagation calculation of the second calculation module by using the cost estimation result 60 by the neural network 50. Specifically, the control unit 11 prepares the set O and the set C as described in (1) and (2) above, and empties (that is, initializes) each of them. The control unit 11 sets the start node S1 as the first transit node by adding the start node S1 to the set O. Then, the control unit 11 uses the obtained estimation result 60 as described above, and repeats the extraction operation 51 and the selection operation 52 until the target node G1 is selected as the transit node.
  • the control unit 11 executes the process of (i)-(iii). As a result of executing these series of forward propagation operations (search trials), the control unit 11 can obtain the search result 62 (that is, the set C) of the route for the training map 31. In this forward propagation calculation process, the control unit 11 calculates the extraction calculation 51 and the selection calculation 52 as they are.
  • the control unit 11 calculates the error between the obtained search result 62 (set C) and the correct answer of the recommended route indicated by the correct answer information 32 associated with the input training map 31.
  • a loss function may be used to calculate the error (loss).
  • the type of loss function used to calculate the error may be appropriately selected according to the embodiment.
  • the control unit 11 uses, for example, an index for evaluating the identity of the images such as the Hamming distance, the L1 distance, and the L2 distance as a loss function. , The error (difference) between both images may be calculated.
  • the loss function may be configured so that it can be evaluated as an error that the node on the recommended route is not included in the search result 62 and that the node other than the recommended route is included in the search result 62.
  • the error L may be given by the following equation 8.
  • C (n) ( ⁇ ⁇ 0,1 ⁇ ) indicates the value of node n in the set C.
  • Y (n) indicates the value of the node n in the binary image representing the correct answer information 32. This binary image may be configured so that the value of the node on the recommended route is 1 and the value of the other nodes is 0.
  • the control unit 11 calculates the calculated error gradient. Then, the control unit 11 calculates the error of the value of each calculation parameter in order from the output side by using the gradient of the error calculated by the error back propagation method.
  • the search module 5 is configured as in the example using the above binary image
  • the set C can be expressed as the following equation 9. Accordingly, the operation of backpropagating the error gradient may be given by Equation 10 below.
  • v * t indicates the node selected in the t-th step during the search by (i)-(iii) above.
  • indicates each calculation parameter of the neural network 50.
  • the control unit 11 replaces the extraction operation 51 and the selection operation 52 with differentiable alternative operations.
  • the control unit 11 calculates an approximate gradient corresponding to each of the extraction operation 51 and the selection operation 52 by the differential calculation of the replaced alternative operation.
  • the alternative operation of the extraction operation 51 may be a convolution operation using the filter N as a kernel.
  • the alternative operation V * of the selection operation 52 may be an operation of the equation 11 (an example using straight-through soft-min with temperature).
  • Equation 11 Expressing the alternative operation of Equation 11 as argmax n (F (-f (n))), ⁇ v * t (n) / ⁇ f (n) in Equation 10 can be expressed as ⁇ F / ⁇ f (n). .. V * can be regarded as an array in which the value of the selected node is 1 and the value of the other nodes is 0.
  • the gradient with respect to the mth element of f can be calculated according to the above equation 12.
  • Equation 2 ⁇ f (n) / ⁇ (n) is ⁇ f (n) / ⁇ g (n) and ⁇ g (n) / ⁇ ( It can be expressed by the product of n).
  • the approximate gradient that is, the term of ⁇ g (n) / ⁇ (n)
  • the control unit 11 can not differentiate unless it is replaced with an alternative operation.
  • the approximate gradient of can be calculated. This makes it possible to calculate the gradient ( ⁇ L / ⁇ ). Then, the control unit 11 can calculate the error of the value of each calculation parameter of each layer 501 to 503 by using the calculated gradient ( ⁇ L / ⁇ ).
  • the control unit 11 updates the value of each calculation parameter of each layer 501 to 503 based on each calculated error.
  • the degree to which the value of each arithmetic parameter is updated may be adjusted by the learning rate.
  • the learning rate may be given by the operator's designation, or may be given as a set value in the program.
  • the control unit 11 controls each layer 501 to 503 so that the sum of the errors calculated for each training data set 3 becomes smaller (in the above example, the error L is minimized) by the series of update processes. Adjust the value of each operation parameter of. For example, the control unit 11 may repeat the adjustment of the value of each calculation parameter by the above series of update processing until a predetermined condition such as execution for a specified number of times or the sum of the calculated errors being equal to or less than the threshold value is satisfied. ..
  • the control unit 11 performs a desired route search task according to the learning data set 3 used. It is possible to generate a trained search module 5 that has acquired the ability to perform. In other words, by the above machine learning, the search module 5 can acquire the ability to search the recommended route, and the neural network 50 can acquire the ability to estimate the cost of each node so as to reduce the redundant search.
  • the control unit 11 proceeds to the next step S103.
  • Step S103 the control unit 11 operates as the storage processing unit 113, and generates information about the trained search module 5 generated by machine learning as learning result data 125. Then, the control unit 11 stores the generated learning result data 125 in a predetermined storage area.
  • the predetermined storage area may be, for example, a RAM in the control unit 11, a storage unit 12, an external storage device, a storage medium, or a combination thereof.
  • the storage medium may be, for example, a CD, a DVD, or the like, and the control unit 11 may store the learning result data 125 in the storage medium via the drive 17.
  • the external storage device may be, for example, a data server such as NAS (Network Attached Storage). In this case, the control unit 11 may store the learning result data 125 in the data server via the network by using the communication interface 13. Further, the external storage device may be, for example, an external storage device connected to the model generation device 1 via the external interface 14.
  • control unit 11 ends the processing procedure of the model generation device 1 according to this operation example.
  • the generated learning result data 125 may be provided to the route search device 2 at any timing.
  • the control unit 11 may transfer the learning result data 125 to the route search device 2 as the process of step S103 or separately from the process of step S103.
  • the route search device 2 may acquire the learning result data 125 by receiving this transfer.
  • the route search device 2 may acquire the learning result data 125 by accessing the model generation device 1 or the data server via the network by using the communication interface 23.
  • the path search device 2 may acquire the learning result data 125 via the storage medium 92.
  • the learning result data 125 may be incorporated in the route search device 2 in advance.
  • control unit 11 may update or newly generate the learning result data 125 by repeating the processes of steps S101 to S103 periodically or irregularly. At the time of this repetition, at least a part of the learning data set 3 used for machine learning may be changed, modified, added, deleted, or the like as appropriate. Then, the control unit 11 may update the learning result data 125 held by the route search device 2 by providing the updated or newly generated learning result data 125 to the route search device 2 by any method. ..
  • FIG. 8 is a flowchart showing an example of a processing procedure related to the execution of the route search task by the route search device 2 according to the present embodiment.
  • the processing procedure of the route search device 2 described below is an example of the route search method.
  • the processing procedure of the route search device 2 described below is only an example, and each step may be changed as much as possible. Further, regarding the following processing procedure, steps may be omitted, replaced, and added as appropriate according to the embodiment.
  • Step S201 the control unit 21 operates as the map acquisition unit 211 to acquire the target map 221.
  • the target map 221 is the same type of data as the training map 31. In some cases, the target map 221 may be the same as the training map 31. Any device may be used to acquire the target map 221. As an example, when the map is composed of images, a camera may be used to acquire the target map 221.
  • the control unit 21 may acquire the target map 221 directly from this device via the external interface 24 or the like. Alternatively, the control unit 21 may indirectly acquire the target map 221 from the device via another computer.
  • the control unit 21 appropriately acquires information on the start node S2 and the target node G2.
  • the information of each node (S2, G2) may be included in the target map 221.
  • the information of each node (S2, G2) may be obtained from the user's designation, the result of arbitrary information processing (for example, the measurement result of the current location), or the like.
  • the control unit 21 proceeds to the next step S202.
  • Step S202 the control unit 21 operates as the search unit 212 and sets the trained search module 5 with reference to the learning result data 125. Then, the control unit 21 searches for the recommended route with the minimum cost from the start node S2 to the target node G2 in the acquired target map 221 by using the trained search module 5.
  • the arithmetic processing of this search may be the same as the arithmetic processing of the search trial phase in the training processing of the above machine learning. That is, the control unit 21 inputs the acquired target map 221 to the input layer 501 of the trained neural network 50.
  • the control unit 21 inputs the information of at least one of the start node S2 and the target node G2 to the input layer 501. Enter more. Then, the control unit 21 executes the arithmetic processing of the forward propagation of the trained neural network 50.
  • the control unit 21 acquires the cost estimation result 223 of each node included in the target map 221 from the output layer 503. Subsequently, the control unit 21 prepares the set O and the set C as described in (1) and (2) above, and empties each of them. The control unit 21 sets the start node S2 as the first transit node by adding the start node S2 to the set O. Then, the control unit 21 repeats the extraction operation 51 and the selection operation 52 until the target node G2 is selected as the transit node by using the obtained estimation result 223.
  • the control unit 21 can acquire the search result 225 of the recommended route that minimizes the cost for the target map 221.
  • the control unit 21 can obtain a recommended route with the minimum cost by tracing the parent node (previous transit node) from the target node G2 to the start node S2 in order with reference to the set C.
  • the search result 225 is acquired, the control unit 21 proceeds to the next step S203.
  • Step S203 the control unit 21 operates as the output unit 213 and outputs information regarding the search result 225 of the recommended route.
  • the output destination and the content of the information to be output may be appropriately determined according to the embodiment.
  • the control unit 21 may output the search result 225 obtained in step S202 to the output device 26 as it is.
  • the output format may be appropriately selected from, for example, images, sounds, and the like.
  • the control unit 21 may execute some information processing based on the obtained search result 225. Then, the control unit 21 may output the result of executing the information processing as information regarding the search result 225.
  • the output of the result of executing this information processing may include controlling the operation of the controlled device according to the search result 225.
  • the output destination may be, for example, an output device 26, an output device of another computer, a controlled device, or the like.
  • the information regarding the route search result 225 may be configured by navigation according to the searched route.
  • the navigation may be to encourage the user to move along the searched route by, for example, an image, a voice, or the like.
  • the navigation may be to control the operation of the controlled device so as to be driven along the searched route.
  • movement guidance or motion control can be executed according to the obtained search result 225.
  • the route search device 2 is configured to execute a series of information processing in steps S201 to S203 at an arbitrary timing (for example, a time when an instruction from a user is received, a time when the operation of a controlled device is controlled, etc.). It's okay. Further, the route search device 2 may be configured to repeatedly execute the route search task by repeatedly executing a series of information processing in steps S201 to S203.
  • the model generation device 1 does not handle only the first calculation module (neural network 50) as the target of machine learning, but the first calculation module and the second calculation module ( Both the extraction calculation 51 and the selection calculation 52) are handled as objects of machine learning.
  • the first calculation module and the second calculation module Both the extraction calculation 51 and the selection calculation 52 are handled as objects of machine learning.
  • the neural network 50 increases the cost of the area that deteriorates the efficiency of the search, as the search module 5 is trained to optimally search the recommended route. As estimated, it is indirectly trained from the recommended route shown in the correct answer information 32.
  • the path search device 2 can efficiently perform the path search task by using the cost estimation result 223 by the trained neural network 50 in the process of step S202.
  • the efficiency for obtaining the route with the minimum cost can be improved.
  • the best-first search method is adopted as the search algorithm of the search module 5
  • the probability of obtaining the path with the minimum cost is obtained by using the estimation result of the cost of each node by the trained neural network 50. Can be enhanced.
  • the model generation device 1 replaces the extraction operation 51 and the selection operation 52 included in the search module 5 with alternative operations in the back propagation phase of machine learning in step S102, and differentiates the alternative operations.
  • Each of the approximate gradients calculated by the calculation is adopted as the gradient of each of the extraction calculation 51 and the selection calculation 52.
  • machine learning of the search module 5 including the non-differentiable second calculation module can be appropriately performed.
  • a trained search module 5 capable of efficiently performing the path search task can be appropriately generated by machine learning.
  • the route search system 100 according to the above embodiment may be applied to any situation in which a route is searched in a given map.
  • the route search system 100 according to the above embodiment may be applied to a scene of searching for a route recommended for a moving body, a scene of searching for a flow line recommended for a robot device, and the like.
  • the following is a specific example in which the application situations are limited.
  • FIG. 9 schematically illustrates an example of an application scene of the guidance system 100A according to the first specific example.
  • the first specific example is an example in which the above embodiment is applied to a scene of searching for a route recommended for a moving body.
  • the guidance system 100A according to the first specific example includes a model generation device 1 and a guidance device 2A.
  • the guidance device 2A is an example of the path search device 2.
  • the map (training map, target map) in the first specific example is configured to include a range in which the moving object is allowed to move.
  • Each node included in the map may correspond to an arbitrary point in a space area (for example, a road, a plaza, a space in a building, etc.) that allows the movement of a moving object.
  • This map may be composed of images. In this case, the map may be appropriately obtained by the camera.
  • the type of camera may be arbitrarily selected. As the camera, for example, a general RGB camera, an infrared camera, a depth camera, or the like may be used.
  • a distance sensor such as a Lidar (Light Detection And Ringing) sensor may be used for the camera.
  • an actual image obtained by photographing a movable spatial area of a moving object such as an aerial photograph or a drone photograph may be used as a map.
  • an image representing the spatial area such as a map or a floor plan, may be used as the map.
  • a binary image representing the movable area and the immovable area of the spatial area in binary may be used as a map.
  • the mobile body may be, for example, a machine configured to move, such as a vehicle or a drone.
  • the moving body may be a person. In the example of FIG. 9, the moving body is a vehicle. Except for these points, the configuration of the first embodiment may be the same as that of the above embodiment.
  • model generator 1 In the first specific example, the model generator 1 generates a trained search module 5 having acquired the ability to search a recommended route for the moving body to move by the same processing procedure as in the above embodiment. Can be done.
  • step S101 the control unit 11 acquires a plurality of learning data sets each composed of a combination of a training map and correct answer information.
  • the training map is configured to include a range that allows the movement of the moving object.
  • the correct answer information is configured to indicate the recommended route for the moving body to move as the recommended route.
  • step S102 the control unit 11 performs machine learning of the search module 5 using the acquired plurality of learning data sets. Similar to the above embodiment, in the back propagation phase of machine learning, the control unit 11 adopts each approximate gradient calculated by the differential calculation of the alternative operation as the result of the differential calculation of each of the extraction operation 51 and the selection operation 52. do.
  • step S103 the control unit 11 stores the learning result data indicating the generated trained search module 5 in a predetermined storage area.
  • the learning result data may be provided to the guidance device 2A at an arbitrary timing.
  • the hardware configuration and software configuration of the guidance device 2A may be the same as those of the path search device 2 according to the above embodiment.
  • the guide device 2A can search for a recommended route for the moving body to move by the same processing procedure as the route search device 2.
  • the control unit of the guide device 2A operates as a map acquisition unit and acquires the target map 221A including the range that allows the movement of the moving body (that is, the moving target of the moving body).
  • the method for acquiring the target map 221A is not particularly limited and may be appropriately selected depending on the embodiment.
  • an image obtained by taking an image of the area where the moving object exists and the area around the moving object with a drone may be used as the target map 221A.
  • the control unit appropriately acquires the information of the start node SA2 and the target node GA2.
  • the start node SA2 may correspond to the current location of the moving object or the desired starting point.
  • the target node GA2 may correspond to the destination of the moving body.
  • the information of each node (SA2, GA2) may be obtained by the user's specification.
  • the guidance device 2A is provided with a measuring instrument such as GPS (Global Positioning System)
  • the information of the start node SA2 may be obtained from the measurement result of the current location by the measuring instrument.
  • the information of the target node GA2 is the result of image identification for the target map 221A. May be obtained from.
  • the image identification method may be arbitrary.
  • the target map 221A may be appropriately acquired so as to include the start node SA2 and the target node GA2 after they have been identified.
  • step S202 the control unit operates as a search unit, and it is recommended that the moving body move from the start node SA2 to the target node GA2 in the acquired target map 221A by using the trained search module 5. Search for a route. Specifically, the control unit uses the trained neural network 50 to estimate the cost of each node included in the target map 221A. As a result of the arithmetic processing of the trained neural network 50, the control unit acquires the cost estimation result 223A of each node. The control unit prepares the set O and the set C, and empties each of them. The control unit sets the start node SA2 as the first transit node by adding the start node SA2 to the set O.
  • control unit repeats the extraction operation 51 and the selection operation 52 until the target node GA2 is selected as the transit node by using the obtained estimation result 223A.
  • control unit can obtain the search result 225A of the recommended route having the minimum cost from the start node SA2 to the target node GA2.
  • the control unit operates as an output unit and outputs information regarding the search result 225A of the recommended route.
  • the control unit may output the obtained recommended route as it is.
  • the control unit may navigate the movement along the searched recommended route based on the obtained search result 225A. Navigation may be performed by, for example, images, sounds, and the like.
  • the moving body is, for example, a machine such as a vehicle or a drone
  • navigating is to output information such as a message to the user so as to prompt the user to move along the recommended route by manual operation of the user. good.
  • the guidance device 2A is configured to control the operation of the machine, the navigation may be to control the operation of the machine to move along the searched recommended path.
  • the navigation may be to output information such as a message to the person to encourage the movement along the recommended route.
  • the model generation device 1 of the first specific example it is possible to reduce the time and effort required to generate the trained search module 5 that has acquired the ability to search the route recommended for the moving body. Further, in the guide device 2A, by using the trained search module 5, it is possible to efficiently search the route recommended for the moving body. Further, in the model generation device 1, machine learning of the search module 5 can be appropriately performed by replacing the extraction calculation 51 and the selection calculation 52 in the back propagation phase of machine learning. As a result, it is possible to appropriately generate a trained search module 5 capable of efficiently performing the task of searching the recommended route for the moving body.
  • FIG. 10 schematically illustrates an example of an application scene of the control system 100B according to the second specific example.
  • the second specific example is an example in which the above embodiment is applied to a scene of searching for a route recommended for the robot device RB.
  • the control system 100B according to the second specific example includes a model generation device 1 and a control device 2B.
  • the control device 2B is an example of the path search device 2.
  • the map (training map, target map) in the second specific example is configured to include a range in which the robot device RB can be driven.
  • Each node included in the map may correspond to an arbitrary point in the work area of the robot device RB.
  • This map may be composed of images.
  • the map may be appropriately obtained by the camera.
  • the type of camera may be arbitrarily selected.
  • an actual image obtained by photographing a driveable space area of the robot device RB may be used as a map.
  • a binary image representing the movable area and the immovable area of the spatial area in binary may be used as a map.
  • the map may be obtained by modeling the working environment of the robotic apparatus RB.
  • the robot device RB may be, for example, an industrial robot (for example, a robot arm or the like), an autonomous robot, or the like. Except for these points, the configuration of the second embodiment may be the same as that of the above embodiment.
  • model generation device 1 generates a trained search module 5 having acquired the ability to search for a recommended route for the robot device RB to operate by the same processing procedure as in the above embodiment. be able to.
  • step S101 the control unit 11 acquires a plurality of learning data sets each composed of a combination of a training map and correct answer information.
  • the training map is configured to include a range that allows the robotic apparatus RB to be driven.
  • the correct answer information is configured to indicate the recommended route for the robot device RB to operate as the recommended route.
  • step S102 the control unit 11 performs machine learning of the search module 5 using the acquired plurality of learning data sets. Similar to the above embodiment, in the back propagation phase of machine learning, the control unit 11 adopts each approximate gradient calculated by the differential calculation of the alternative operation as the result of the differential calculation of each of the extraction operation 51 and the selection operation 52. do.
  • step S103 the control unit 11 stores the learning result data indicating the generated trained search module 5 in a predetermined storage area.
  • the learning result data may be provided to the control device 2B at an arbitrary timing.
  • Control device The hardware configuration and software configuration of the control device 2B may be the same as those of the path search device 2 according to the above embodiment.
  • the robot device RB to be driven may be connected to the control device 2B via a communication interface or an external interface.
  • the control device 2B can search for a recommended route for the robot device RB to operate by the same processing procedure as the path search device 2.
  • step S201 the control unit of the control device 2B operates as a map acquisition unit and acquires the target map 221B including the range in which the robot device RB is allowed to be driven.
  • the method for acquiring the target map 221B is not particularly limited and may be appropriately selected depending on the embodiment.
  • an image obtained by photographing the working range of the robot device RB with a camera provided on or around the robot device RB may be used as the target map 221B.
  • the environment information generated by modeling the surrounding environment of the robot device RB may be used as the target map 221B.
  • the control unit appropriately acquires the information of the start node SB2 and the target node GB2.
  • the start node SB2 may correspond to the current position or the desired start position of the robot device RB. If the robotic apparatus RB comprises an end effector, the start node SB2 may correspond to the current position of the end effector or the desired start position.
  • the target node GB2 may correspond to the target position of the robot device RB.
  • the target position of the robot device RB may be, for example, a position where a target object such as a work is arranged.
  • the information of each node (SB2, GB2) may be obtained by the designation of the operator.
  • the information of the start node SB2 may be obtained from the information of the own device (for example, the current position of the end effector).
  • the information of the target node GB2 may be obtained from the setting information of the target position.
  • the target map 221B is an image and the robot device RB and the target are shown in the image
  • the information of each node (SB2, GB2) is obtained from the result of image identification for the target map 221B. It's okay.
  • the method of image identification may be arbitrary.
  • the target map 221B may be appropriately acquired so as to include the start node SB2 and the target node GB2 after they have been identified.
  • step S202 the control unit operates as a search unit, and it is recommended that the robot device RB operate from the start node SB2 to the target node GB2 in the acquired target map 221B by using the trained search module 5. Search for a route. Specifically, the control unit uses the trained neural network 50 to estimate the cost of each node included in the target map 221B. As a result of the arithmetic processing of the trained neural network 50, the control unit acquires the cost estimation result 223B of each node. The control unit prepares the set O and the set C, and empties each of them. The control unit sets the start node SB2 as the first transit node by adding the start node SB2 to the set O.
  • control unit repeats the extraction operation 51 and the selection operation 52 until the target node GB2 is selected as the transit node by using the obtained estimation result 223B.
  • control unit can obtain the search result 225B of the recommended route having the minimum cost from the start node SB2 to the target node GB2.
  • the control unit operates as an output unit and outputs information regarding the search result 225B of the recommended route.
  • the control unit may output the obtained recommended route as it is.
  • the control unit may navigate to drive the robot device RB along the searched recommended route based on the obtained search result 225B. Navigation may be performed by, for example, images, sounds, and the like. The navigation may be to output information such as a message to the operator so as to prompt the operator to drive the robot device RB along the recommended route (that is, to instruct the operation) by the operator's manual operation.
  • the control device 2B is configured to control the operation of the robot device RB
  • the navigation may be to control the operation of the robot device RB so as to be driven along the searched recommended path. ..
  • the model generation device 1 of the second specific example it is possible to reduce the time and effort required to generate the trained search module 5 that has acquired the ability to search the route recommended for the robot device RB. Further, in the control device 2B, by using the trained search module 5, it is possible to efficiently search the route recommended for the robot device RB. Further, in the model generation device 1, machine learning of the search module 5 can be appropriately performed by replacing the extraction calculation 51 and the selection calculation 52 in the back propagation phase of machine learning. As a result, it is possible to appropriately generate a trained search module 5 capable of efficiently performing the task of searching the route recommended for the robot device RB.
  • the route search system 100 may be applied to a scene of searching a route using transportation (for example, aviation, railroad, bus, etc.).
  • the map (training map, target map) is configured to include any extent of the transportation network formed by transportation.
  • Each node included in the map may correspond to any geographical point such as a transportation hub (eg, a station).
  • the correct answer information may be configured to indicate the recommended route for traveling by means of transportation as the recommended route.
  • This allows the model generator 1 to generate a trained search module 5 that has acquired the ability to search for recommended routes to travel using transportation.
  • the route search device 2 can use the trained search module 5 to search for a recommended route for traveling by using transportation.
  • each neuron may be connected to a specific neuron in an adjacent layer or to a neuron in a layer other than the adjacent layer.
  • the connection relationship of each neuron may be appropriately determined according to the embodiment.
  • the intermediate layer 502 may be omitted.
  • the neural network 50 may include other types of layers such as, for example, a convolutional layer, a pooling layer, a normalized layer, a dropout layer, and the like.
  • the neural network 50 may be composed of other types of neural networks such as convolutional neural networks, recurrent neural networks, and graph neural networks.
  • the input and output formats of the neural network 50 are not particularly limited and may be appropriately determined according to the embodiment.
  • the neural network 50 may be configured to further accept input of information other than the map.
  • the neural network 50 may be configured to output information other than the estimation result of the cost of each node.
  • the extraction operation 51 and the selection operation 52 may be appropriately changed according to the embodiment.
  • the selection operation 52 may be given by the following equation 13 or equation 14.
  • the alternative operation of the selection operation 52 may be configured by the operation in which O (n) is deleted from each of the equations 13 and 14 as in the relation of the equations 3 and 11.
  • w (n) is a non-negative (0 or more) weight.
  • a trained search module according to an embodiment that has acquired the ability to search the shortest path from the start node to the target node in a map composed of binary images was generated.
  • the neural network consists of 10 layers on the input side of VGG-16 Network (network published in reference ⁇ URL: https://pytorch.org/hub/pytorch#vision#vgg/>).
  • -Net was used.
  • the input map (the value of the obstacle node is 0 and the value of the other nodes is 1), and the values of the start node and the target node are 1 and the values of the other nodes are 1.
  • a two-channel map obtained by combining maps that are 0 was used.
  • a sigmoid function was used as the activation function of the output layer, and the neural network was configured to output the value normalized in the range of [0,1] as the estimated value of the cost of each node.
  • the sample published in the reference ⁇ URL: https://github.com/mohakbhardwaj/motion#planning#datasets> was used.
  • the size of the map was 32x32. 800 samples were obtained for each type of obstacle, and a search module was prepared. Then, machine learning of each search module was executed for each type of obstacle. Adam was used as the optimization algorithm for machine learning.
  • the learning rate was set to 0.001.
  • the batch size was set to 100.
  • the number of epochs was set to 100.
  • a convolution operation using [[0,1,0], [1,0,1], [0,1,0]] as a kernel was used.
  • the A * search algorithm was used as the search algorithm for the selection operation.
  • a function that calculates the linear distance (Manhattan distance) from the node v to the target node v g as a cost is adopted as h (v, v g ).
  • the above equation 11 (straight-through soft-min with temperature) was used as an alternative operation to the selection operation.
  • the square root of 32 was substituted for ⁇ .
  • the neural network was omitted, and a search module according to a comparative example configured to search the shortest path by the A * search algorithm according to the procedures (1) to (4) above was created. Similar to the selection operation of the embodiment, in the comparative example, a function for calculating the linear distance (Manhattan distance) from the node v to the target node v g as a cost is adopted as h (v, v g ). Then, three target maps for evaluation were given to the search modules related to the examples and each comparative example, and the search for the shortest path from the start node to the target node was executed in each target map.
  • h v, v g
  • FIGS. 11A, 11B and 11C show target maps used for evaluation.
  • 12A, 12B, and 12C show the results (dark gray) of searching the route in the target maps of FIGS. 11A, 11B, and 11C by the search module according to the comparative example, and the nodes (set C,) targeted for the search.
  • Light gray is shown.
  • 13A, 13B and 13C show the results of estimating the cost of each node included in the target map of FIGS. 11A, 11B and 11C by the neural network of the search module according to the embodiment.
  • 14A, 14B and 14C show the results of searching the route in the target maps of FIGS. 11A, 11B and 11C by the search module according to the embodiment (dark gray) and the node targeted for the search (light gray). Is shown.
  • the trained search module according to the embodiment was able to appropriately find the shortest path from the start node to the target node in the target map for evaluation. .. From this result, by replacing the back propagation phase, the machine learning of the search module can be properly executed even if it includes non-differentiable operations, and the training acquired the ability to search the recommended route. It turns out that it is possible to properly generate a completed search module. Further, as shown in FIGS. 12A, 12B, 12C, 14A, 14B and 14C, in the embodiment, the number of nodes to be searched could be reduced as compared with the comparative example. As shown in FIGS.
  • the cost of the region that deteriorates the efficiency of the search is high (that is, the search of the node in this region is avoided. )
  • Model generator 11 ... control unit, 12 ... storage unit, 13 ... communication interface, 14 ... External interface, 15 ... input device, 16 ... output device, 17 ... drive, 81 ... model generation program, 91 ... storage medium, 111 ... Data acquisition unit, 112 ... Learning processing unit, 113 ... Preservation processing unit, 125 ... Learning result data, 2 ... Pathfinding device, 21 ... Control unit, 22 ... Storage unit, 23 ... Communication interface, 24 ... External interface, 25 ... Input device, 26 ... Output device, 27 ... Drive, 82 ... Pathfinding program, 92 ... Storage medium, 211 ... Map acquisition unit, 212 ... Search unit, 213 ... Output unit, 221 ...
  • Target map 3 ... Learning data set, 31 ... Training map, 32 ... Correct answer information, 5 ... Search module, 50 ... Neural network, 501 ... Input layer, 502 ... Intermediate (hidden) layer, 503 ... Output layer, 51 ... Operation to extract, 52 ... Operation to select

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Navigation (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Instructional Devices (AREA)

Abstract

本発明の一側面に係るモデル生成装置は、機械学習により、各学習データセットについて、訓練マップを入力マップとして与えることで探索モジュールにより探索される経路が正解情報により示される推奨経路に適合するように探索モジュールを訓練する。モデル生成装置は、機械学習の間、順伝播のフェーズでは、抽出する演算及び選択する演算をそのまま計算するのに対して、逆伝播のフェーズでは、抽出する演算及び選択する演算それぞれを微分可能な代替演算に置き換え、置き換えられた代替演算の微分計算により、抽出する演算及び選択する演算それぞれの微分計算に対応する近似勾配を算出する。

Description

モデル生成装置、経路探索装置、モデル生成方法、及びモデル生成プログラム
 本発明は、モデル生成装置、経路探索装置、モデル生成方法、及びモデル生成プログラムに関する。
 マップ(グラフ)上の開始ノードから目標ノード(ゴール)までの推奨経路を探索する問題(経路探索問題)が存在する。推奨経路は、例えば、最短経路であり、経路探索問題は、例えば、移動体が移動するのに推奨される経路、ロボット装置が動作するのに推奨される経路等を探索する目的で解かれる。この経路探索問題を解く方法として、ダイクストラ法、最良優先探索法、A*探索アルゴリズム等の古典的なアルゴリズムが広く知られている。
 コスト最小の経路を探索する方法の基本的な考え方は次のとおりである。
(1)探索空間は、N個(Nは自然数)のノードの集合V(V={V1、・・・、VN})で構成されており、そのうちの1つが開始(起点)ノード(vs∈V)であり、別の1つが目標ノード(vg∈V)である。
(2)推奨経路を構成するか否かを確認する対象となる候補ノードの集合O(O⊂V)、及び確認済みのノードの集合C(C⊂V)を用意する。初期状態では、集合Oには、開始ノードvsのみが属しており(O={vs})、集合Cは空である。
(3)目標ノードvgが集合Oに含まれるまで以下の(A)(B)の手続きを繰り返す。
(A)集合Oの中からコストが最小となるノードv*(v*∈O)を1つ選択し、選択したノードv*を集合Cに追加すると共に、集合Oからノードv*を取り除く。
(B)ノードv*に近接する(例えば、隣接する)ノード(集合VSUCC⊂V)をVから抽出し、抽出されたノードを集合Oに追加する。
(4)目標ノードvgが集合Oに含まれたならば、目標ノードvgを選択して、探索を終了する。
Figure JPOXMLDOC01-appb-M000001
 上記(3)(A)においてノードv*を選択するためのコスト関数f(v)は、一般的に上記式1により表現することができる。g(v,vs)は、開始ノードvsからノードvまで移動するのに実際にかかるコスト(例えば、実際の移動距離)を示す。h(v,vg)は、ノードvから目標ノードvgまで移動するのにかかると予想されるコスト(例えば、直線距離)を示す。a及びbは、それぞれをノードの選択に反映する程度を規定する定数である。コストは、そのノードを経由することを推奨する(コスト小)又は推奨しない(コスト大)程度に対応する。推奨の程度を評価する指標は、例えば、距離、時間、費用、危険度、混雑度、魅力度等であってよい。一例として、距離を指標に採用した場合には、上記方法により最短経路が探索される。
 a=1及びb=0のとき、上記探索アルゴリズムはダイクストラ法となる。ダイクストラ法によれば、実際にかかるコストが最小となる最適な推奨経路を確実に見つけ出すことができる。ただし、ダイクストラ法は、実際にかかるコストgが最小となる経路を虱潰しに探索する。そのため、探索効率は良くなく、探索には時間がかかる。a=0及びb=1のとき、上記探索アルゴリズムは最良優先探索法となる。最良優先探索法の探索は、目標ノードまでのコストが最小であるノードを優先的に探索する(すなわち、目標ノードに近付く方向に進み続ける)ため、ダイクストラ法と比較して、しばしば効率的である。しかしながら、開始ノードから目標ノードまでの間に障害物がある等の理由に起因して、最適な推奨経路が得られない(すなわち、得られる経路が最適経路にならない)可能性がある。a=1及びb=1のとき、上記探索アルゴリズムはA*探索アルゴリズムとなる。A*探索アルゴリズムの探索効率は、ダイクストラ法と比較して良く、最良優先探索法と比較して悪くなるが、許容的なヒューリスティック関数(コスト)を適宜設計することで、最適な推奨経路を確実に見つけ出すことができる。
 つまり、最良優先探索法及びA*探索アルゴリズムによれば、ダイクストラ法と比較して探索の効率化を図ることができる。しかしながら、マップには、進行を妨げる障害物が存在する場合があり、最良優先探索法又はA*探索アルゴリズムを採用しても、その障害物の形態によって、探索の効率が悪化する可能性があることが知られている。
 図1は、探索の効率を悪化させる障害物を含むマップの一例を模式的に例示する。図1のマップには、開始ノード及び目標ノードの間にコの字型の障害物が存在しており、障害物の凹部が開始ノードの方を向いている。最良優先探索法又はA*探索アルゴリズムによりこのマップの推奨経路を探索した場合、開始ノードから目標ノードに近付くために、凹部の内側に探索が進む可能性がある。この場合、凹部の内部で探索が障害物に衝突した後、迂回経路を求めて凹部の内部及び周辺を探索することになり、結果として探索の効率性は悪化する。
 図1のマップのケースでは、凹部の内部を探索している限り、目標ノードに到達することはできない。そのため、どの探索アルゴリズムを採用した場合でも、この凹部の内部を探索する限り、探索の効率性は悪化する。このケースでは、凹部の内部を回避して探索(例えば、図1の点線の矢印)を進めることができれば、いずれの探索アルゴリズムを採用しても(ダイクストラ法を採用した場合でも)、探索の効率性を改善することができそうである。すなわち、進行を妨げる障害物がマップ上に存在し、その障害物により探索の効率性を悪化させるエリアが形成された場合に、そのエリアの探索を避けることができれば、いずれの探索アルゴリズムを採用しても、探索の効率性を改善することができる。
 非特許文献1には、最良優先探索法においてコストを計算するためのヒューリスティック関数のパラメータを機械学習により調整することが提案されている。非特許文献1の方法によれば、探索の効率性を悪化させるエリアのコストが高くなるようにヒューリスティック関数を訓練することができる。そのため、訓練されたヒューリスティック関数を使用することにより、そのようなエリアの探索をできるだけ避けることができ、これによって、探索の効率性を改善することができる。
Mohak Bhardwaj, Sanjiban Choudhury, Sebastian Scherer, "Learning Heuristic Search via Imitation", CoRL 2017, 271-280.
 本件発明者は、非特許文献1等で提案されるコスト関数を機械学習により直接的に訓練する方法には、次のような問題点があることを見出した。すなわち、探索の効率性を悪化させる障害物の形態は、上記コの字型に限られず、多様に存在する。それぞれのケースに対応するためには、多様な訓練マップについてコスト関数を訓練することが望ましい。しかしながら、コスト関数を直接的に訓練するためには、訓練マップに含まれる全てのノードについてコストの真値を示す正解情報を訓練マップ毎に用意することになる。探索アルゴリズムに応じて全てのノードのコストの真値を特定する(すなわち、正解情報を作成する)のには、訓練マップに含まれるノードの数に比例して時間がかかってしまい、その結果、経路の探索モジュールの生成にかかる手間が大きくなってしまう。更に、非特許文献1の方法では、最良優先探索法を採用しているため、コストが最小となる経路の探索をしばしば失敗してしまう。
 本発明は、一側面では、このような事情を鑑みてなされたものであり、その目的は、経路探索の効率を改善すると共に、探索モジュールの生成にかかる手間の低減を図る技術を提供することである。
 本発明は、上述した課題を解決するために、以下の構成を採用する。
 すなわち、本発明の一側面に係るモデル生成装置は、訓練マップ、及び前記訓練マップにおける推奨経路を示す正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部と、前記複数の学習データセットを使用して、探索モジュールの機械学習を実施する学習処理部であって、前記探索モジュールは、入力マップに含まれる複数のノードそれぞれのコストを推定するように構成されるニューラルネットワーク、経由ノードに近接する1つ以上の候補ノードを入力マップに含まれる複数のノードから抽出する演算、及び前記ニューラルネットワークの推定結果に基づいて、コストの総和が最小となるように、抽出された1つ以上の候補ノードから次の経由ノードを選択する演算、を含み、前記探索モジュールは、開始ノードを最初の経由ノードに設定し、目標ノードが経由ノードとして選択されるまで、前記抽出する演算及び選択する演算を繰り返すことで、開始ノードから目標ノードまでの経路を探索するように構成され、前記機械学習は、前記各学習データセットについて、前記訓練マップを前記入力マップとして与えることで前記探索モジュールにより探索される経路が前記正解情報により示される推奨経路に適合するように前記探索モジュールを訓練することにより構成され、前記機械学習の間、順伝播のフェーズでは、前記抽出する演算及び前記選択する演算をそのまま計算するのに対して、逆伝播のフェーズでは、前記抽出する演算及び前記選択する演算それぞれを微分可能な代替演算に置き換え、置き換えられた前記代替演算の微分計算により、前記抽出する演算及び前記選択する演算それぞれの微分計算に対応する近似勾配を算出する、学習処理部と、を備える。
 当該構成では、探索モジュール(探索モデル)は、各ノードのコストを推定する演算を実行するように構成される第1計算モジュール、及び推定されたコストに基づき、コストの総和が最小となる経路を探索する演算を実行するように構成される第2計算モジュールを備える。第1計算モジュールは、ニューラルネットワークにより構成される。第2計算モジュールは、経由ノードに近接する1つ以上の候補ノードを抽出する演算、及び抽出された1つ以上の候補ノードから次の経由ノードを選択する演算により構成される。第1計算モジュールのみを機械学習の対象として取り扱う場合、訓練マップ毎にコストの真値を用意することになり、上記のとおり、探索モジュールの生成にかかる手間が大きくなってしまう。これに対して、当該構成では、第1計算モジュール及び第2計算モジュールの両方を機械学習の処理対象として取り扱う。これにより、当該構成では、訓練マップ毎にコストの真値を用意するのではなく、推奨経路そのものを示す正解情報を用意すればよいようになる。その結果、訓練マップに含まれる全てのノードを探索する必要はなく、例えば、既存のアルゴリズムの探索結果、実績等をそのまま推奨経路として採用することができる。そのため、訓練マップに含まれる全てのノードのコストの真値を特定するのに比べて、正解情報の用意にかかる作業時間及び負担を抑えることができる。したがって、当該構成によれば、探索モジュールの生成にかかる手間の低減を図ることができる。また、機械学習の過程で、探索モジュールは推奨経路を最適に探索するように訓練されていくため、探索の効率性を悪化させるエリアのコストが高くなるように、正解情報により示される推奨経路からニューラルネットワークを間接的に訓練することができる。その結果、訓練されたニューラルネットワークによるコストの推定結果を使用することで、経路探索の効率の改善を適切に図ることができる。
 しかしながら、ニューラルネットワークを含む探索モジュールの機械学習を実施する際には、順伝播の演算により経路を探索した結果と正解情報との間の誤差の勾配を出力側から順番に逆伝播することになる。この逆伝播の演算を実行するためには、誤差の勾配を逆伝播する全ての演算が微分可能であることが求められるが、ニューラルネットワークによるコストの推定結果を使用して経路探索を行う第2計算モジュールの演算(すなわち、1つ以上の候補ノードを抽出する演算及び抽出された1つ以上の候補ノードから次の経由ノードを選択する演算)は、集合に対して条件に該当する要素を取り出す操作であり、微分不可能である。そのため、単純な方法では、探索モジュールの機械学習を実施することはできない。つまり、第2計算モジュールを機械学習の処理対象とすることで、最終結果を正解情報として取り扱うことができるようになり、その結果、上記のとおり、探索モジュールの生成にかかる手間を低減することができるが、既知の方法ではその機械学習を実施することが困難であるという新たな問題が生じてしまう。
 そこで、当該構成では、機械学習の間、順伝播のフェーズでは、抽出する演算及び選択する演算をそのまま計算するのに対して、逆伝播のフェーズでは、抽出する演算及び選択する演算それぞれを微分可能な代替演算に置き換え、置き換えられた代替演算の微分計算により、抽出する演算及び選択する演算それぞれの微分計算に対応する近似勾配を算出する。これにより、微分不可能な演算を含む探索モジュールであっても、機械学習を適切に実施することができる。したがって、当該構成によれば、経路探索の効率を改善すると共に、訓練済みの探索モジュール(学習済み探索モデル)を適切に生成し、その生成にかかる手間の低減を図ることができる。
 上記一側面に係るモデル生成装置において、前記選択する演算は、前記ニューラルネットワークの推定結果に基づいて、所定の探索アルゴリズムによりコストの総和が最小となるように、抽出された1つ以上の候補ノードから次の経由ノードを選択するように構成されてよい。当該構成によれば、所定の探索アルゴリズムを遂行するよう構成される探索モジュールの生成にかかる手間を低減することができる。また、所定の探索アルゴリズムとして既存の探索アルゴリズムを利用することで、探索モジュールの生成にかかる手間を更に低減することができる。
 上記一側面に係るモデル生成装置において、前記所定の探索アルゴリズムは、ダイクストラ法、最良優先探索法、又はA*探索アルゴリズムであってよい。当該構成によれば、探索モジュールを簡易に構成可能であるため、探索モジュールの生成にかかる手間を更に低減することができる。なお、各アルゴリズムは、オリジナルのアルゴリズムの他に、変形アルゴリズムを含んでよい。
 上記一側面に係るモデル生成装置において、前記訓練マップは、移動体の移動を許容する範囲を含んでよく、前記正解情報により示される前記推奨経路は、前記移動体が移動するのに推奨される経路であってよい。当該構成によれば、移動体の移動計画に使用可能な探索モジュールを生成する形態において、経路探索の効率を改善すると共に、探索モジュールの生成にかかる手間を低減することができる。
 上記一側面に係るモデル生成装置において、前記訓練マップは、ロボット装置の駆動を許容する範囲を含んでよく、前記正解情報により示される前記推奨経路は、前記ロボット装置が動作するのに推奨される経路であってよい。当該構成によれば、ロボットの動作計画に使用可能な探索モジュールを生成する形態において、経路探索の効率を改善すると共に、探索モジュールの生成にかかる手間を低減することができる。
 上記一側面に係るモデル生成装置は、任意の指標により評価されるコストが最小となる経路を探索する能力を獲得した訓練済みの探索モジュールを生成することができる。上記一側面に係るモデル生成装置において、この評価指標に距離を採用することで、前記推奨経路は、最短経路であってよい。当該構成によれば、最短経路を探索する効率を改善すると共に、最短経路を探索する能力を獲得した探索モジュールの生成にかかる手間を低減することができる。
 上記一側面に係るモデル生成装置において、前記訓練マップは、画像により構成されてよく、前記ノードは、画素により構成されてよい。当該構成によれば、画像内の経路を探索する形態において、経路探索の効率を改善すると共に、探索モジュールの生成にかかる手間を低減することができる。
 上記一側面に係るモデル生成装置において、前記画像は、実画像又はバイナリ画像により構成されてよい。当該構成によれば、実画像又はバイナリ画像を用いる形態において、経路探索の効率を改善すると共に、探索モジュールの生成にかかる手間を低減することができる。
 また、本発明の形態は、上記モデル生成装置の形態に限られなくてもよい。本発明の一側面は、上記モデル生成装置により生成された訓練済みの探索モジュールを利用する経路探索装置であってもよい。例えば、本発明の一側面は、対象マップを取得するマップ取得部と、訓練済みの探索モジュールを使用して、取得された前記対象マップにおける開始ノードから目標ノードまでの経路を探索する探索部と、前記対象マップに対して前記経路を探索した結果に関する情報を出力する出力部と、を備えるように構成された経路探索装置であってよい。この経路探索装置は、適用場面におけるタスクの種類に応じて、例えば、計画装置、移動計画装置、案内装置、動作計画装置、制御装置等と読み替えられてよい。
 上記一側面に係る経路探索装置において、前記対象マップは、移動体の移動を許容する範囲を含んでよい。これに応じて、前記探索部は、前記訓練済みの探索モジュールを使用して、取得された前記対象マップにおける前記開始ノードから前記目標ノードまで前記移動体が移動するのに推奨される経路を探索してもよい。或いは、上記一側面に係る経路探索装置において、前記対象マップは、ロボット装置の駆動を許容する範囲を含んでよい。これに応じて、前記探索部は、前記訓練済みの探索モジュールを使用して、取得された前記対象マップにおける前記開始ノードから前記目標ノードまで前記ロボット装置が動作するのに推奨される経路を探索してもよい。
 上記一側面に係る経路探索装置において、前記経路を探索した結果に関する情報は、探索された経路に従ったナビゲーションにより構成されてよい。当該構成によれば、推奨経路を効率的に探索可能であると共に、その探索結果(すなわち、探索された推奨経路)に従って、移動案内又は動作制御を実行することができる。
 また、上記各形態に係るモデル生成装置及び経路探索装置それぞれの別の態様として、本発明の一側面は、以上の各構成の全部又はその一部を実現する情報処理方法であってもよいし、プログラムであってもよいし、このようなプログラムを記憶した、コンピュータその他装置、機械等が読み取り可能な記憶媒体であってもよい。ここで、コンピュータ等が読み取り可能な記憶媒体とは、プログラム等の情報を、電気的、磁気的、光学的、機械的、又は、化学的作用によって蓄積する媒体である。また、本発明の一側面は、上記いずれかの形態に係るモデル生成装置及び経路探索装置により構成される経路探索システムであってもよい。
 例えば、本発明の一側面に係るモデル生成方法は、コンピュータが、訓練マップ、及び前記訓練マップにおける推奨経路を示す正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、前記複数の学習データセットを使用して、探索モジュールの機械学習を実施するステップであって、前記探索モジュールは、入力マップに含まれる複数のノードそれぞれのコストを推定するように構成されるニューラルネットワーク、経由ノードに近接する1つ以上の候補ノードを入力マップに含まれる複数のノードから抽出する演算、及び前記ニューラルネットワークの推定結果に基づいて、コストの総和が最小となるように、抽出された1つ以上の候補ノードから次の経由ノードを選択する演算、を含み、前記探索モジュールは、開始ノードを最初の経由ノードに設定し、目標ノードが経由ノードとして選択されるまで、前記抽出する演算及び選択する演算を繰り返すことで、開始ノードから目標ノードまでの経路を探索するように構成され、前記機械学習は、前記各学習データセットについて、前記訓練マップを前記入力マップとして与えることで前記探索モジュールにより探索される経路が前記正解情報により示される推奨経路に適合するように前記探索モジュールを訓練することにより構成され、前記機械学習の間、順伝播のフェーズでは、前記抽出する演算及び前記選択する演算をそのまま計算するのに対して、逆伝播のフェーズでは、前記抽出する演算及び前記選択する演算それぞれを微分可能な代替演算に置き換え、置き換えられた前記代替演算の微分計算により、前記抽出する演算及び前記選択する演算それぞれの微分計算に対応する近似勾配を算出する、ステップと、を実行する、情報処理方法である。
 また、例えば、本発明の一側面に係るモデル生成プログラムは、コンピュータに、訓練マップ、及び前記訓練マップにおける推奨経路を示す正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、前記複数の学習データセットを使用して、探索モジュールの機械学習を実施するステップであって、前記探索モジュールは、入力マップに含まれる複数のノードそれぞれのコストを推定するように構成されるニューラルネットワーク、経由ノードに近接する1つ以上の候補ノードを入力マップに含まれる複数のノードから抽出する演算、及び前記ニューラルネットワークの推定結果に基づいて、コストの総和が最小となるように、抽出された1つ以上の候補ノードから次の経由ノードを選択する演算、を含み、前記探索モジュールは、開始ノードを最初の経由ノードに設定し、目標ノードが経由ノードとして選択されるまで、前記抽出する演算及び選択する演算を繰り返すことで、開始ノードから目標ノードまでの経路を探索するように構成され、前記機械学習は、前記各学習データセットについて、前記訓練マップを前記入力マップとして与えることで前記探索モジュールにより探索される経路が前記正解情報により示される推奨経路に適合するように前記探索モジュールを訓練することにより構成され、前記機械学習の間、順伝播のフェーズでは、前記抽出する演算及び前記選択する演算をそのまま計算するのに対して、逆伝播のフェーズでは、前記抽出する演算及び前記選択する演算それぞれを微分可能な代替演算に置き換え、置き換えられた前記代替演算の微分計算により、前記抽出する演算及び前記選択する演算それぞれの微分計算に対応する近似勾配を算出する、ステップと、を実行させるための、プログラムである。
 本発明によれば、経路探索の効率を改善すると共に、探索モジュールの生成コストの低減を図ることができる。
図1は、探索の効率を悪化させる障害物を含むマップの一例を模式的に例示する。 図2は、本発明が適用される場面の一例を模式的に例示する。 図3は、実施の形態に係るモデル生成装置のハードウェア構成の一例を模式的に例示する。 図4は、実施の形態に係る経路探索装置のハードウェア構成の一例を模式的に例示する。 図5は、実施の形態に係るモデル生成装置のソフトウェア構成の一例を模式的に例示する。 図6は、実施の形態に係る経路探索装置のソフトウェア構成の一例を模式的に例示する。 図7は、実施の形態に係るモデル生成装置の処理手順の一例を示すフローチャートである。 図8は、実施の形態に係る経路探索装置の処理手順の一例を示すフローチャートである。 図9は、本発明が適用される他の場面の一例を模式的に例示する。 図10は、本発明が適用される他の場面の一例を模式的に例示する。 図11Aは、評価に使用した対象マップを示す。 図11Bは、評価に使用した対象マップを示す。 図11Cは、評価に使用した対象マップを示す。 図12Aは、A*探索アルゴリズム(比較例)により図11Aの対象マップにおける経路を探索した結果及び探索の対象となったノードを示す。 図12Bは、A*探索アルゴリズム(比較例)により図11Bの対象マップにおける経路を探索した結果及び探索の対象となったノードを示す。 図12Cは、A*探索アルゴリズム(比較例)により図11Cの対象マップにおける経路を探索した結果及び探索の対象となったノードを示す。 図13Aは、実施例のニューラルネットワークにより図11Aの対象マップの各ノードのコストを推定した結果を示す。 図13Bは、実施例のニューラルネットワークにより図11Bの対象マップの各ノードのコストを推定した結果を示す。 図13Cは、実施例のニューラルネットワークにより図11Cの対象マップの各ノードのコストを推定した結果を示す。 図14Aは、実施例の探索モジュールにより図11Aの対象マップにおける経路を探索した結果及び探索の対象となったノードを示す。 図14Bは、実施例の探索モジュールにより図11Bの対象マップにおける経路を探索した結果及び探索の対象となったノードを示す。 図14Cは、実施例の探索モジュールにより図11Cの対象マップにおける経路を探索した結果及び探索の対象となったノードを示す。
 以下、本発明の一側面に係る実施の形態(以下、「本実施形態」とも表記する)を、図面に基づいて説明する。ただし、以下で説明する本実施形態は、あらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良や変形を行うことができることは言うまでもない。つまり、本発明の実施にあたって、実施形態に応じた具体的構成が適宜採用されてもよい。なお、本実施形態において登場するデータを自然言語により説明しているが、より具体的には、コンピュータが認識可能な疑似言語、コマンド、パラメータ、マシン語等で指定される。
 §1 適用例
 図2は、本発明を適用した場面の一例を模式的に例示する。図2に示されるとおり、本実施形態に係る経路探索システム100は、モデル生成装置1及び経路探索装置2を備えている。
 本実施形態に係るモデル生成装置1は、機械学習により訓練済みの探索モジュール5(学習済み探索モデル)を生成するように構成されたコンピュータである。本実施形態に係るモデル生成装置1は、訓練マップ31、及び訓練マップ31における推奨経路を示す正解情報32の組み合わせによりそれぞれ構成される複数の学習データセット3を取得する。本実施形態に係るモデル生成装置1は、取得された複数の学習データセット3を使用して、探索モジュール5の機械学習を実施する。
 本実施形態に係る探索モジュール5は、入力マップに含まれる複数のノードそれぞれのコストを推定する演算を実行するように構成される第1計算モジュール、及び推定されたコストに基づき、コストの総和が最小となる経路を探索する演算を実行するように構成される第2計算モジュールを備える。第1計算モジュールは、ニューラルネットワーク50により構成される。第2計算モジュールは、経由ノードに近接する1つ以上の候補ノードを入力マップに含まれる複数のノードから抽出する演算(以下、単に「抽出演算」とも記載する)51、及びニューラルネットワーク50の推定結果に基づいて、開始ノードから目標ノードまでのコストの総和が最小となるように、抽出された1つ以上の候補ノードから次の経由ノードを選択する演算(以下、単に「選択演算」とも記載する)52により構成される。
 探索モジュール5は、開始ノードを最初の経由ノードに設定し、目標ノードが経由ノードとして選択されるまで、抽出演算51及び選択演算52を繰り返すことで、開始ノードから目標ノードまでの経路を探索するように構成される。すなわち、探索モジュール5は、第1計算モジュール及び第2計算モジュールを使用して、上記(1)-(4)の演算を実行することで、コストが最小となる経路を探索するように構成される。ニューラルネットワーク50の推定結果は、上記式1の計算に利用される。抽出演算51は、上記(3)(B)の演算に対応する。開始ノードを最初の経由ノードに設定すること及び選択演算52は、上記(3)(A)の演算に対応する。
 機械学習は、各学習データセット3について、訓練マップ31を入力マップとして与えることで探索モジュール5により探索される経路が正解情報32により示される推奨経路に適合するように探索モジュール5を訓練することにより構成される。具体的には、ニューラルネットワーク50は、例えば、各ニューロン間の結合の重み、各ニューロンの閾値等の複数の演算パラメータを備える。まず、モデル生成装置1は、探索モジュール5を使用して、各学習データセット3の訓練マップ31に対する経路探索を試行する。この試行処理において、モデル生成装置1は、ニューラルネットワーク50を使用して、各学習データセット3の訓練マップ31に含まれる各ノードのコストを推定する。すなわち、モデル生成装置1は、ニューラルネットワーク50に訓練マップ31を入力して、ニューラルネットワーク50の順伝播の演算処理を実行する。この演算により、モデル生成装置1は、訓練マップ31に含まれる各ノードのコストの推定結果60を得ることができる。続いて、モデル生成装置1は、開始ノードS1を最初の経由ノードに設定する。そして、モデル生成装置1は、得られた推定結果60を利用し、目標ノードG1が経由ノードとして選択されるまで、抽出演算51及び選択演算52を繰り返す。これらの一連の順伝播の演算により、モデル生成装置1は、探索の試行結果、すなわち、訓練マップ31に対して経路を探索した結果(以下、「探索結果」とも記載する)62を得ることができる。次に、モデル生成装置1は、この探索結果62と正解情報32により示される推奨経路(正解)との間の誤差を算出する。モデル生成装置1は、誤差逆伝播法により、算出された誤差の勾配を逆伝播することで、ニューラルネットワーク50の各演算パラメータの値を調整する。探索モジュール5を訓練することは、この一連の処理(すなわち、順伝播による探索の試行処理及び逆伝播による演算パラメータの調整処理)により、正解情報32に適合する探索結果62が得られるようにニューラルネットワーク50の各演算パラメータの値を調整することにより構成される。
 モデル生成装置1は、この機械学習の間、順伝播(探索の試行)フェーズでは、抽出演算51及び選択演算52をそのまま計算するのに対して、逆伝播(演算パラメータの調整)のフェーズでは、抽出演算51及び選択演算52それぞれを微分可能な代替演算に置き換え、置き換えられた代替演算の微分計算により、抽出演算51及び選択演算52それぞれの微分計算に対応する近似勾配を算出する。すなわち、モデル生成装置1は、機械学習の処理過程のうち、探索を試行するフェーズでは、抽出演算51及び選択演算52をそのまま採用して、各学習データセット3の訓練マップ31に対する探索結果62を得る。これに対して、抽出演算51及び選択演算52は共に微分不可能であり、そのままでは誤差の勾配を逆伝播することができない。そこで、試行フェーズにより導出された誤差の勾配を逆伝播するフェーズでは、モデル生成装置1は、それぞれ代替演算の微分計算により算出される近似勾配を抽出演算51及び選択演算52それぞれの微分計算の結果として採用して、誤差の勾配を逆伝播し、ニューラルネットワーク50の各演算パラメータの値を調整する。
 抽出演算51の代替演算は、抽出演算51の近似勾配を計算可能な演算であれば、その内容は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。抽出演算51の代替演算は、例えば、固定サイズの矩形フィルタを用いた線形の畳み込み関数、固定サイズのグラフを用いたグラフ畳み込み演算又はこれらに類似する関数で構成されてよく抽出演算51の近似勾配は、当該関数の勾配であってよい。抽出演算51の代替演算は、当該関数に対応するルックアップテーブルにより構成されてよい。同様に、選択演算52の代替演算は、選択演算52の近似勾配を計算可能な演算であれば、その内容は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。選択演算52の代替演算は、例えば、straight-through soft-min関数、straight-through soft-min with temperature、weighted straight-through soft-min、straight-through Gumbel softmin関数、又はこれらに類似する関数で構成されてよく、選択演算52の近似勾配は、当該関数の勾配であってよい。この機械学習の結果、モデル生成装置1は、入力マップに対してコスト最小となる推奨経路を探索する能力を獲得した訓練済みの探索モジュール5を生成することができる。
 一方、本実施形態に係る経路探索装置2は、訓練済みの探索モジュール5を使用して、与えられたマップに対して経路探索を遂行するように構成されたコンピュータである。まず、経路探索装置2は、経路探索の対象となる対象マップ221を取得する。次に、経路探索装置2は、訓練済みの探索モジュール5を使用して、取得された対象マップ221における開始ノードS2から目標ノードG2までの経路を探索する。
 すなわち、経路探索装置2は、上記モデル生成装置1の試行フェーズと同様に、訓練済みのニューラルネットワーク50に対象マップ221を入力し、訓練済みのニューラルネットワーク50の順伝播の演算処理を実行する。経路探索装置2は、この演算処理により、対象マップ221に含まれる各ノードのコストの推定結果223を得ることができる。続いて、経路探索装置2は、開始ノードS2を最初の経由ノードに設定する。そして、経路探索装置2は、得られた推定結果223を利用し、目標ノードG2が経由ノードとして選択されるまで、抽出演算51及び選択演算52を繰り返す。この第2計算モジュールの演算では、経路探索装置2は、上記モデル生成装置1の試行フェーズと同様に、抽出演算51及び選択演算52をそのまま採用する。
 これらの一連の演算により、経路探索装置2は、対象マップ221に対して経路を探索した結果(以下、「探索結果」とも記載する)225を得ることができる。そして、経路探索装置2は、対象マップ221に対する経路の探索結果225に関する情報を出力する。なお、本実施形態に係る経路探索装置2は、適用場面におけるタスクの種類に応じて、計画装置、移動計画装置、案内装置、動作計画装置、制御装置等と読み替えられてよい。
 なお、本実施形態で取り扱われるマップ(訓練マップ31、対象マップ221)は、複数のノードを含み、経路探索の処理対象となるように適宜構成されていれば、マップのデータ形式は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例では、マップ(訓練マップ31、対象マップ221)は、リスト形式、グラフ形式等で表現されてよい。障害物(移動不能な領域)は、ノード間の接続の有無、ノードに与える情報等により表現されてよい。
 グラフ形式の一例として、マップ(訓練マップ31、対象マップ221)は、画像(画像データ)により構成されてよい。この場合、ノードは、画素により構成されてよい。画像は、4つ又は8つの近接ノードが各ノードに接続されることで構成された2次元グリッドのグラフとして取り扱うことができる。なお、4つの近接ノードは、対象画素の上下左右に配置された4つの画素である。8つの近接ノードは、対象画素の周囲を囲む8つの画素である。この画像は、実画像又はバイナリ画像により構成されてよい。移動体の経路を探索する場合、実画像は、例えば、航空写真、ドローンにより撮影した写真等の移動体の移動が許容される範囲を撮影することで生成された画像であってよい。ロボットの動作経路を探索する場合、実画像は、例えば、作業現場等のロボットの動作する範囲を撮影することで生成された画像であってよい。バイナリ画像の各画素は、移動可能な領域及び移動不能な領域を2値で表現するように適宜構成されてよい。バイナリ画像は、実画像を適宜2値化することで生成されてよい。本実施形態に係るモデル生成装置1では、画像をマップとして用いることで、上記機械学習により、画像内の経路を探索する能力を獲得した訓練済みの探索モジュール5を生成することができる。
 正解情報32は、訓練マップ31における推奨経路の正解を示すように適宜構成されてよい。正解情報32のデータ形式は、経路の探索結果の表現に応じて適宜選択されてよい。経路の探索結果が画像で構成される場合、正解情報32の一例は、推奨経路の正解を示す画像により構成されてよい(図2では、その画像の一例が示される)。
 また、コストは、任意の指標によりそのノードを経由することを推奨する又は推奨しない程度に対応するように構成されていれば、コストの数値表現は、適宜設定されてよい。一例では、コストは、数値に比例する(すなわち、数値が大きいほどコストが高い)ように表現されてもよい。その他の一例では、コストは、数値に反比例する(すなわち、数値が小さいほどコストが高い)ように表現されてもよい。推奨しないことに着目して、コストは、例えば、負荷、ペナルティ等と読み替えられてよい。反対に、推奨することに着目して、コストは、例えば、推奨度、報酬等と読み替えられてよい。この場合、コストの最小化は、推奨度等の最大化と置き換えられてよい。コストを評価する指標は、いずれの観点で設計されてよい。本実施形態では、コストは、便宜上、推奨しない程度が高いほど値が高くなるように設計されているものとして説明する。推奨する程度が高いほど値が高くなるようにコストを設計する場合は、上記選択演算52は、値が最小の要素を選択することから値が最大の要素を選択することに置き換えられてよく、上記選択演算52の代替演算も適宜置き換えられてよい。具体例として、上記選択演算52の代替演算は、例えば、straight-through soft-max関数、straight-through soft-max with temperature、weighted straight-through soft-max、straight-through Gumbel softmax関数又はこれらに類似する関数で構成されてよい。
 上記推奨の程度を評価する指標は、例えば、距離、時間、費用、危険度、混雑度、魅力度等であってよい。一例として、距離を評価指標として採用してもよい。コストは、距離が長くなるほど高くなるように設定されてよい。このケースでは、探索される推奨経路は、開始ノードから目標ノードまでの最短経路(距離が最小となる経路)である。
 その他の一例として、時間を評価指標として採用してもよい。コストは、時間がかかるほど高くなるように設定されてよい。このケースでは、探索される推奨経路は、開始ノードから目標ノードまでの移動にかかる時間が最小となる経路である。
 その他の一例として、費用を評価指標として採用してもよい。コストは、費用がかかるほど高くなるように設定されてよい。このケースでは、探索される推奨経路は、開始ノードから目標ノードまでの移動にかかる費用が最小となる経路である。費用は、例えば、燃料費、電気代、交通機関の利用料、高速料金等であってよい。
 その他の一例として、危険度を評価指標として採用してもよい。コストは、危険度が高くなるほど高くなるように設定されてよい。このケースでは、探索される推奨経路は、開始ノードから目標ノードまでの移動のリスクが最小である(すなわち、安全性が最も高い)経路である。移動体の経路を探索する場合、危険度は、例えば、事故、犯罪等のアクシデントに移動体が遭遇するリスクに応じて設定されてよい。ロボットの経路を探索する場合、危険度は、例えば、衝突、破壊等の故障リスクに応じて設定されてよい。
 その他の一例として、混雑度を評価指標として採用してもよい。コストは、混雑度が高くなるほど高くなるように設定されてよい。このケースでは、探索される推奨経路は、混雑した場所を避けた経路である。混雑した場所は、例えば、人の密度の高い場所(人の移動経路を探索する場合)、渋滞の生じている場所(車両の移動経路を探索する場合)、障害物が密集している場所(ロボット装置の動作経路を探索する場合)等である。
 その他の一例として、魅力度を評価指標として採用してもよい。コストは、魅力度が低くなるほど高くなるように設定されてよい。このケースでは、探索される推奨経路は、魅力度の高い場所を経由する経路である。魅力度は、例えば、景観の良し悪し(移動体の移動経路を探索する場合)、動作の華麗さ(ロボット装置の動作経路を探索する場合)等の人為的な指標に応じて与えられてよい。
 これらのケースは、例えば、移動体(例えば、人、車両、ドローン等)の移動する経路を計画する場面、ロボットの動作する経路を計画する場面等に適用可能である。コストは、適用する場面に応じて適宜設計されてよい。コストは、上記の複数の指標を複合的に用いて設計されてもよい。本実施形態に係るモデル生成装置1では、上記機械学習により、設計されたコストに応じた推奨経路を探索する能力を獲得した訓練済みの探索モジュール5を生成することができる。
 以上のとおり、本実施形態に係るモデル生成装置1は、第1計算モジュール(ニューラルネットワーク50)のみを機械学習の対象として取り扱うのではなく、第1計算モジュール及び第2計算モジュール(抽出演算51及び選択演算52)の両方を機械学習の対象として取り扱う。これにより、本実施形態では、訓練マップ31毎にコストの真値を用意しなくてよく、推奨経路そのものを示す正解情報32を用意すればよいようになる。そのため、訓練マップ31に含まれる全てのノードを探索しなくてよく、例えば、既存のアルゴリズムの探索結果、実績等をそのまま推奨経路として採用することができる。その結果、訓練マップ31に含まれる全てのノードのコストの真値を特定するのに比べて、正解情報32の用意にかかる作業時間及び負担を抑えることができる。したがって、本実施形態によれば、訓練済みの探索モジュール5の生成にかかる手間の低減を図ることができる。
 また、機械学習の過程で、探索モジュール5は推奨経路を最適に探索するように訓練されていくため、探索の効率性を悪化させるエリアのコストが高くなるように、正解情報32に示される推奨経路からニューラルネットワーク50を間接的に訓練することができる。その結果、経路探索装置2では、訓練済みのニューラルネットワーク50によるコストの推定結果223を使用することで、経路探索の効率の改善を適切に図ることができる。
 更には、本実施形態に係るモデル生成装置1は、機械学習の処理において、順伝播のフェーズでは、抽出演算51及び選択演算52をそのまま計算するのに対して、逆伝播のフェーズでは、抽出演算51及び選択演算52それぞれを微分可能な代替演算に置き換える。そして、モデル生成装置1は、置き換えられた代替演算の微分計算により、抽出する演算及び選択する演算それぞれの微分計算に対応する近似勾配を算出する。これにより、微分不可能な演算(抽出演算51及び選択演算52)を含んでいても、探索モジュール5の機械学習(特に、ニューラルネットワーク50の演算パラメータの調整)を適切に実施することができる。
 なお、図2の例では、モデル生成装置1及び経路探索装置2は、ネットワークを介して互いに接続されている。ネットワークの種類は、例えば、インターネット、無線通信網、移動通信網、電話網、専用網等から適宜選択されてよい。ただし、モデル生成装置1及び経路探索装置2の間でデータをやり取りする方法は、このような例に限定されなくてもよく、実施の形態に応じて適宜選択されてよい。例えば、モデル生成装置1及び経路探索装置2の間では、記憶媒体を利用して、データがやり取りされてよい。
 また、図2の例では、モデル生成装置1及び経路探索装置2は、それぞれ別個のコンピュータにより構成されている。しかしながら、本実施形態に係る経路探索システム100の構成は、このような例に限定されなくてもよく、実施の形態に応じて適宜決定されてよい。たとえば、モデル生成装置1及び経路探索装置2は一体のコンピュータであってもよい。また、例えば、モデル生成装置1及び経路探索装置2のうちの少なくとも一方は、複数台のコンピュータにより構成されてもよい。
 §2 構成例
 [ハードウェア構成]
 <モデル生成装置>
 図3は、本実施形態に係るモデル生成装置1のハードウェア構成の一例を模式的に例示する。図3に示されるとおり、本実施形態に係るモデル生成装置1は、制御部11、記憶部12、通信インタフェース13、外部インタフェース14、入力装置15、出力装置16、及びドライブ17が電気的に接続されたコンピュータである。なお、図3では、通信インタフェース及び外部インタフェースを「通信I/F」及び「外部I/F」と記載している。
 制御部11は、ハードウェアプロセッサであるCPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)等を含み、プログラム及び各種データに基づいて情報処理を実行するように構成される。記憶部12は、メモリの一例であり、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部12は、モデル生成プログラム81、複数の学習データセット3、学習結果データ125等の各種情報を記憶する。
 モデル生成プログラム81は、訓練済みの探索モジュール5を生成する後述の機械学習の情報処理(図7)をモデル生成装置1に実行させるためのプログラムである。モデル生成プログラム81は、当該情報処理の一連の命令を含む。複数の学習データセット3は、訓練済みの探索モジュール5の生成に使用される。学習結果データ125は、生成された訓練済みの探索モジュール5に関する情報を示す。本実施形態では、学習結果データ125は、モデル生成プログラム81を実行した結果として生成される。詳細は後述する。
 通信インタフェース13は、例えば、有線LAN(Local Area Network)モジュール、無線LANモジュール等であり、ネットワークを介した有線又は無線通信を行うためのインタフェースである。モデル生成装置1は、通信インタフェース13を利用して、他の情報処理装置との間で、ネットワークを介したデータ通信を実行することができる。外部インタフェース14は、例えば、USB(Universal Serial Bus)ポート、専用ポート等であり、外部装置と接続するためのインタフェースである。外部インタフェース14の種類及び数は任意に選択されてよい。モデル生成装置1は、通信インタフェース13及び外部インタフェース14の少なくとも一方を介して、訓練マップ31を得るためのデバイス(例えば、カメラ、他のコンピュータ等)に接続されてよい。
 入力装置15は、例えば、マウス、キーボード等の入力を行うための装置である。また、出力装置16は、例えば、ディスプレイ、スピーカ等の出力を行うための装置である。ユーザ等のオペレータは、入力装置15及び出力装置16を利用することで、モデル生成装置1を操作することができる。
 ドライブ17は、例えば、CDドライブ、DVDドライブ等であり、記憶媒体91に記憶されたプログラム等の各種情報を読み込むためのドライブ装置である。記憶媒体91は、コンピュータその他装置、機械等が、記憶されたプログラム等の各種情報を読み取り可能なように、当該プログラム等の情報を、電気的、磁気的、光学的、機械的又は化学的作用によって蓄積する媒体である。上記モデル生成プログラム81及び複数の学習データセット3の少なくともいずれかは、記憶媒体91に記憶されていてもよい。モデル生成装置1は、この記憶媒体91から、上記モデル生成プログラム81及び複数の学習データセット3の少なくともいずれかを取得してもよい。なお、図3では、記憶媒体91の一例として、CD、DVD等のディスク型の記憶媒体を例示している。しかしながら、記憶媒体91の種類は、ディスク型に限られなくてもよく、ディスク型以外であってもよい。ディスク型以外の記憶媒体として、例えば、フラッシュメモリ等の半導体メモリを挙げることができる。ドライブ17の種類は、記憶媒体91の種類に応じて任意に選択されてよい。
 なお、モデル生成装置1の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部11は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA(field-programmable gate array)、DSP(digital signal processor)等で構成されてよい。記憶部12は、制御部11に含まれるRAM及びROMにより構成されてもよい。通信インタフェース13、外部インタフェース14、入力装置15、出力装置16及びドライブ17の少なくともいずれかは省略されてもよい。モデル生成装置1は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、モデル生成装置1は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、PC(Personal Computer)等であってもよい。
 <経路探索装置>
 図4は、本実施形態に係る経路探索装置2のハードウェア構成の一例を模式的に例示する。図4に示されるとおり、本実施形態に係る経路探索装置2は、制御部21、記憶部22、通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27が電気的に接続されたコンピュータである。
 経路探索装置2の制御部21~ドライブ27及び記憶媒体92はそれぞれ、上記モデル生成装置1の制御部11~ドライブ17及び記憶媒体91それぞれと同様に構成されてよい。制御部21は、ハードウェアプロセッサであるCPU、RAM、ROM等を含み、プログラム及びデータに基づいて各種情報処理を実行するように構成される。記憶部22は、例えば、ハードディスクドライブ、ソリッドステートドライブ等で構成される。本実施形態では、記憶部22は、経路探索プログラム82、学習結果データ125等の各種情報を記憶する。
 経路探索プログラム82は、訓練済みの探索モジュール5を使用して経路探索タスクを遂行する後述の情報処理(図8)を経路探索装置2に実行させるためのプログラムである。経路探索プログラム82は、当該情報処理の一連の命令を含む。経路探索プログラム82及び学習結果データ125の少なくともいずれかは、記憶媒体92に記憶されていてもよい。また、経路探索装置2は、経路探索プログラム82及び学習結果データ125の少なくともいずれかを記憶媒体92から取得してもよい。
 経路探索装置2は、通信インタフェース23及び外部インタフェース24の少なくとも一方を介して、対象マップ221を得るためのデバイス(例えば、カメラ、他のコンピュータ等)に接続されてよい。
 なお、経路探索装置2の具体的なハードウェア構成に関して、実施形態に応じて、適宜、構成要素の省略、置換及び追加が可能である。例えば、制御部21は、複数のハードウェアプロセッサを含んでもよい。ハードウェアプロセッサは、マイクロプロセッサ、FPGA、DSP等で構成されてよい。記憶部22は、制御部21に含まれるRAM及びROMにより構成されてもよい。通信インタフェース23、外部インタフェース24、入力装置25、出力装置26、及びドライブ27の少なくともいずれかは省略されてもよい。経路探索装置2は、複数台のコンピュータで構成されてもよい。この場合、各コンピュータのハードウェア構成は、一致していてもよいし、一致していなくてもよい。また、経路探索装置2は、提供されるサービス専用に設計された情報処理装置の他、汎用のサーバ装置、汎用のPC、携帯端末(例えば、スマートフォン)、タブレットPC、PLC(programmable logic controller)等であってもよい。
 [ソフトウェア構成]
 <モデル生成装置>
 図5は、本実施形態に係るモデル生成装置1のソフトウェア構成の一例を模式的に例示する。モデル生成装置1の制御部11は、記憶部12に記憶されたモデル生成プログラム81をRAMに展開する。そして、制御部11は、RAMに展開されたモデル生成プログラム81に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図5に示されるとおり、本実施形態に係るモデル生成装置1は、データ取得部111、学習処理部112、及び保存処理部113をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、モデル生成装置1の各ソフトウェアモジュールは、制御部11(CPU)により実現される。
 データ取得部111は、複数の学習データセット3を取得するように構成される。各学習データセット3は、訓練マップ31及び正解情報32の組み合わせにより構成される。訓練マップ31は、複数のノードを含むように構成される。各ノードは、実空間又は仮想空間上の任意の位置に対応してよい。一例として、移動体の移動する経路を探索するケースでは、各ノードは、移動体の移動を許容する空間領域の任意の地点に対応してよい。他の一例として、ロボット装置の動作する経路を探索するケースでは、各ノードは、ロボット装置の作業エリアの任意の地点に対応してよい。他の一例として、交通機関の利用経路を探索するケースでは、各ノードは、交通機関の拠点等の地理上の任意の地点に対応してよい。訓練マップ31は、画像により構成されてよく、各ノードは、画像に含まれる各画素により構成されてよい。画像は、実画像又はバイナリ画像であってよい。正解情報32は、訓練マップ31における開始ノードS1から目標ノードG1までの推奨経路の正解を示すように構成される。
 学習処理部112は、取得された複数の学習データセット3を使用して、探索モジュール5の機械学習を実施するように構成される。探索モジュール5は、ニューラルネットワーク50、抽出演算51、及び選択演算52を含むように構成される。ニューラルネットワーク50は、入力マップに含まれる複数のノードそれぞれのコストを推定するように構成される。抽出演算51は、経由ノードに近接する1つ以上の候補ノードを入力マップに含まれる複数のノードから抽出するように構成される。選択演算52は、ニューラルネットワーク50の推定結果に基づいて、開始ノードから目標ノードまでのコストの総和が最小となるように、抽出された1つ以上の候補ノードから次の経由ノードを選択するように構成される。探索モジュール5は、開始ノードを最初の経由ノードに設定し、目標ノードが経由ノードとして選択されるまで、抽出演算51及び選択演算52を繰り返すことで、開始ノードから目標ノードまでの経路を探索するように構成される。
 機械学習は、誤差逆伝播法によって、各学習データセット3について、訓練マップ31を入力マップとして与えることで探索モジュール5により探索される経路が正解情報32により示される推奨経路の正解に適合するように探索モジュール5を訓練することにより構成される。学習処理部112は、機械学習の間、順伝播(探索の試行)のフェーズでは、抽出演算51及び選択演算52をそのまま計算するのに対して、逆伝播のフェーズでは、抽出演算51及び選択演算52それぞれを微分可能な代替演算に置き換え、置き換えられた代替演算の微分計算により、抽出演算51及び選択演算52それぞれの微分計算に対応する近似勾配を算出するように構成される。
 保存処理部113は、機械学習により生成された訓練済みの探索モジュール5に関する情報を学習結果データ125として生成し、生成された学習結果データ125を所定の記憶領域に保存するように構成される。学習結果データ125は、訓練済みの探索モジュール5を再生するための情報を含むように適宜構成されてよい。
 (探索モジュール)
 図5に示されるとおり、本実施形態に係る探索モジュール5に含まれるニューラルネットワーク50は、全結合型ニューラルネットワークであり、入力層501、1つ以上の中間(隠れ)層502、及び出力層503を備えている。
 入力層501は、各ノードのコストを推定する対象となるマップの入力を受け付けるように構成される。コストは、マップ内の障害物等の配置の他、開始ノード及び目標ノードの位置にも影響を受け得る。そのため、入力層501は、マップと共に、開始ノード及び目標ノードの少なくとも一方の情報の入力を更に受け付けるように構成されてよい。出力層503は、入力マップに含まれる各ノードのコストの推定結果を出力するように構成される。中間層502の数は、実施の形態に応じて適宜決定されてよい。
 各層501~503は、1又は複数のニューロン(ノード)を備えている。各層501~503に含まれるニューロンの数は、実施の形態に応じて適宜決定されてよい。入力層501のニューロンの数は、例えば、上記入力の次元数等の入力形態に応じて適宜決定されてよい。出力層503のニューロンの数は、例えば、上記出力の次元数等の出力形態に応じて適宜決定されてよい。本実施形態では、各層501~503に含まれる各ニューロンは、隣接する層の全てのニューロンと結合される。
 各層501~503の各結合には、重み(結合荷重)が設定される。各ニューロンには閾値が設定されており、基本的には、各入力と各重みとの積の和が閾値を超えているか否かによって各ニューロンの出力が決定される。閾値は、活性化関数により表現されてよい。この場合、各入力と各重みとの積の和を活性化関数に入力し、活性化関数の演算を実行することで、各ニューロンの出力が決定される。活性化関数の種類は任意に選択されてよい。各層501~503に含まれる各ニューロン間の結合の重み及び各ニューロンの閾値は、演算パラメータの一例である。
 上記機械学習では、学習処理部112は、各学習データセット3の訓練マップ31を訓練データ(入力データ)として使用し、正解情報32を正解データ(教師信号、ラベル)として使用する。
 すなわち、探索の試行フェーズでは、まず、学習処理部112は、各学習データセット3の訓練マップ31を入力層501に入力し、ニューラルネットワーク50の順伝播の演算処理を実行する。この演算により、学習処理部112は、訓練マップ31に含まれる各ノードのコストの推定結果60を出力層503から取得する。学習処理部112は、開始ノードS1を最初の経由ノードに設定する。そして、学習処理部112は、得られた推定結果60を利用し、目標ノードG1が経由ノードとして選択されるまで、抽出演算51及び選択演算52を繰り返す。この順伝播の演算過程では、学習処理部112は、抽出演算51及び選択演算52をそのまま計算する。これらの一連の順伝播の演算(探索の試行)を実行した結果として、学習処理部112は、訓練マップ31に対する経路の探索結果62を取得する。
 学習処理部112は、得られた探索結果62と入力した訓練マップ31に関連付けられた正解情報32により示される正解との間の誤差を算出する。そして、学習処理部112は、誤差の勾配を算出し、誤差逆伝播法により、算出された誤差の勾配を逆伝播して、各演算パラメータの値を調整する。この逆伝播の演算過程では、学習処理部112は、代替演算の微分計算により算出される近似勾配それぞれを抽出演算51及び選択演算52それぞれの微分計算の結果として採用する。
 学習処理部112は、各学習データセット3について、算出される誤差の和が小さくなるように各演算パラメータの値を調整する上記一連の処理を繰り返す。この機械学習の結果として、入力マップに対してコスト最小となる推奨経路を探索する能力を獲得した訓練済みの探索モジュール5を生成することができる。
 保存処理部113は、上記機械学習により生成された訓練済みの探索モジュール5を再生するための学習結果データ125を生成する。訓練済みの探索モジュール5を再生可能であれば、学習結果データ125の構成は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。一例として、学習結果データ125は、上記機械学習の調整により得られた各演算パラメータの値を示す情報を含んでよい。場合によって、学習結果データ125は、ニューラルネットワーク50の構造、抽出演算51の内容、及び選択演算52の内容の少なくともいずれかを示す情報を含んでよい。ニューラルネットワーク50の構造は、例えば、入力層から出力層までの層の数、各層の種類、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等により特定されてよい。保存処理部113は、生成された学習結果データ125を所定の記憶領域に保存する。
 <経路探索装置>
 図6は、本実施形態に係る経路探索装置2のソフトウェア構成の一例を模式的に例示する。経路探索装置2の制御部21は、記憶部22に記憶された経路探索プログラム82をRAMに展開する。そして、制御部21は、RAMに展開された経路探索プログラム82に含まれる命令をCPUにより解釈及び実行して、各構成要素を制御する。これにより、図6に示されるとおり、本実施形態に係る経路探索装置2は、マップ取得部211、探索部212、及び出力部213をソフトウェアモジュールとして備えるコンピュータとして動作する。すなわち、本実施形態では、経路探索装置2の各ソフトウェアモジュールも、モデル生成装置1と同様に、制御部21(CPU)により実現される。
 マップ取得部211は、経路探索タスクの対象となる対象マップ221を取得するように構成される。探索部212は、学習結果データ125を保持していることで、訓練済みの探索モジュール5を備えている。探索部212は、訓練済みの探索モジュール5を使用して、取得された対象マップ221における開始ノードS2から目標ノードG2までの経路を探索するように構成される。すなわち、探索部212は、訓練済みのニューラルネットワーク50の入力層501に取得された対象マップ221を入力し、訓練済みのニューラルネットワーク50の順伝播の演算処理を実行する。この演算処理により、探索部212は、対象マップ221に含まれる各ノードのコストの推定結果223を出力層503から取得することができる。続いて、探索部212は、得られた推定結果223を利用し、目標ノードG2が経由ノードとして選択されるまで、抽出演算51及び選択演算52を繰り返す。この第2計算モジュールの演算では、探索部212は、上記機械学習の順伝播のフェーズ(探索の試行フェーズ)と同様に、抽出演算51及び選択演算52をそのまま採用する。これらの一連の演算処理の実行結果として、探索部212は、対象マップ221に対する経路の探索結果225を取得するように構成される。出力部213は、得られた探索結果225に関する情報を出力するように構成される。
 <その他>
 モデル生成装置1及び経路探索装置2の各ソフトウェアモジュールに関しては後述する動作例で詳細に説明する。なお、本実施形態では、モデル生成装置1及び経路探索装置2の各ソフトウェアモジュールがいずれも汎用のCPUによって実現される例について説明している。しかしながら、上記ソフトウェアモジュールの一部又は全部が、1又は複数の専用のプロセッサ(例えば、グラフィックスプロセッシングユニット)により実現されてもよい。上記各モジュールは、ハードウェアモジュールとして実現されてもよい。また、モデル生成装置1及び経路探索装置2それぞれのソフトウェア構成に関して、実施形態に応じて、適宜、ソフトウェアモジュールの省略、置換及び追加が行われてもよい。
 §3 動作例
 [モデル生成装置]
 図7は、本実施形態に係るモデル生成装置1による機械学習に関する処理手順の一例を示すフローチャートである。以下で説明するモデル生成装置1の処理手順は、モデル生成方法の一例である。ただし、以下で説明するモデル生成装置1の処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が行われてよい。
 (ステップS101)
 ステップS101では、制御部11は、データ取得部111として動作し、複数の学習データセット3を取得する。
 各学習データセット3は適宜生成されてよい。一例として、まず、探索空間を構成する複数のノードを含む訓練マップ31を生成する。探索空間は、例えば、移動体の移動計画、ロボット装置の動作計画、交通機関の乗り換え計画等のタスクの目的に応じて設定されてよい。また、探索空間は、実空間又は仮想空間上に設定されてよい。訓練マップ31は人手により適宜生成されてもよい。探索空間の少なくとも一部を変更することで、複数の異なる訓練マップ31が生成されてよい。マップに実画像を利用する場合、経路探索の対象となり得る空間領域をカメラにより撮影することで、訓練マップ31を生成してもよい。マップにバイナリ画像を利用する場合、カメラにより得られた実画像の各画素を任意の方法で二値化することにで、訓練マップ31を生成してもよい。バイナリ画像は人手で生成されてもよい。訓練マップ31は、複数の画像により構成されてもよい。
 次に、生成された訓練マップ31に対して、開始ノードから目標ノードまでの推奨経路の正解を示す正解情報32を生成する。推奨経路は、適宜得られてよい。一例として、推奨経路は、オペレータの手作業により与えられてもよい。その他の一例として、推奨経路は、例えば、ダイクストラ法、最良優先探索法、A*探索アルゴリズム等の既存の探索アルゴリズムを訓練マップ31に対して実行することで得られてもよい。更にその他の一例として、実空間上に探索空間が設定される場合、その探索空間において開始ノードから目標ノードまで実際に移動する又はその計画を立てることで得られた実績を推奨経路として利用してもよい。コストの総和が最小となる経路を推奨経路の正解として取り扱うことが望ましいが、少なくとも一部の正解情報32により示される正解は、必ずしもコストの総和が最小となる経路でなくてもよい。コストは、例えば、距離、時間、費用、危険度、混雑度、魅力度等に応じて評価されてよい。一例として、コストの評価指標として距離を採用することで、正解情報32は、推奨経路の正解として最短距離を示すように構成されてよい。なお、推奨経路を表現可能であれば、正解情報32のデータ形式は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例として、訓練マップ31が画像で構成される場合、正解情報32も画像で構成されてよく、推奨経路は、その画像上で示されてよい。
 そして、生成された正解情報32を訓練マップ31に関連付ける。これにより、各学習データセット3を生成することができる。なお、同一の訓練マップ31に対して、開始ノード及び目標ノードの少なくとも一方が異なるように開始ノード及び目標ノードの複数のペアを生成してもよい。生成された各ペアに対して正解情報32を生成し、各ペアの生成された正解情報32を訓練マップ31に関連付けてもよい。これにより、同一の訓練マップ31から複数の異なる学習データセット3を生成してもよい。
 各学習データセット3は、コンピュータの動作により自動的に生成されてもよいし、或いは少なくとも部分的にオペレータの操作を含むことで手動的に生成されてもよい。また、各学習データセット3の生成は、モデル生成装置1により行われてもよいし、モデル生成装置1以外の他のコンピュータにより行われてもよい。各学習データセット3をモデル生成装置1が生成する場合、制御部11は、自動的に又は入力装置15を介したオペレータの操作により手動的に上記生成処理を実行することで、各学習データセット3を取得してよい。一方、各学習データセット3を他のコンピュータが生成する場合、制御部11は、例えば、ネットワーク、記憶媒体91等を介して、他のコンピュータにより生成された各学習データセット3を取得してよい。複数の学習データセット3の一部がモデル生成装置1により生成され、その他が1又は複数の他のコンピュータにより生成されてもよい。
 取得する学習データセット3の件数は、特に限定されなくてよく、機械学習を実施可能なように実施の形態に応じて適宜決定されてよい。複数の学習データセット3を取得すると、制御部11は、次のステップS102に処理を進める。
 (ステップS102)
 ステップS102では、制御部11は、学習処理部112として動作し、取得された複数の学習データセット3を使用して、探索モジュール5の機械学習を実施する。
 機械学習の処理の一例として、まず、機械学習の処理対象となる探索モジュール5の初期設定を行う。探索モジュール5のうちニューラルネットワーク50の初期設定では、ニューラルネットワーク50の構造(例えば、層の数、各層の種類、各層に含まれるニューロンの数、隣接する層のニューロン同士の結合関係等)及び各演算パラメータの初期値を適宜与える。ニューラルネットワーク50の構造及び各演算パラメータの初期値は、テンプレートにより与えられてもよいし、オペレータの入力により与えられてもよい。再学習を行う場合、過去の機械学習により得られた学習結果データに基づいて、ニューラルネットワーク50の初期設定が行われてよい。
 また、抽出演算51及び選択演算52は、適宜構築されてよい。抽出演算51により抽出される候補ノード(すなわち、経由ノードに近接するノード)は、経由ノードの次に経由する候補となるノードであって、典型的には、経由ノードに隣接するノードである。抽出演算51により抽出される候補ノードは、この経由ノードに物理的に隣接するノードの他、例えば、経由ノードから一定のコスト以内で移動(遷移)可能なノードを含んでよい。上記(3)(B)のとおり、抽出演算51は、経由ノード(v*)が指定されると、指定された経由ノード(v*)に近接する1つ以上の候補ノード(集合VSUCC⊂V)を入力マップに含まれるノードの集合(V)から抽出し、抽出された候補ノードを集合Oに追加するように適宜構成されてよい。
 一方、上記(3)(A)のとおり、選択演算52は、ニューラルネットワーク50によるコストの推定結果に基づいて、コストが最小となる次の経由ノードを集合Oから選択し、選択したノードを集合Cに追加すると共に、集合Oから取り除くように適宜構成されてよい。コストを計算するためのコスト関数f(v)(式1)は任意に設定されてよい。すなわち、ノードの抽出及び選択により経路を探索するものであれば、探索モジュール5で採用する探索アルゴリズムは、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。
 一例として、選択演算52は、所定の探索アルゴリズムによりコストの総和が最小となるように、抽出された1つ以上の候補ノードから次の経由ノードを選択するように構成されてよい。所定の探索アルゴリズムは、例えば、ダイクストラ法、最良優先探索法、又はA*探索アルゴリズムであってよい。つまり、選択演算52は、既存の探索アルゴリズムを利用して構築されてよい。これにより、探索モジュール5の構築にかかる手間を低減することができる。なお、各アルゴリズムは、オリジナルのアルゴリズムの他に、変形アルゴリズム(オリジナルのアルゴリズムから派生したアルゴリズム)を含んでよい。例えば、所定の探索アルゴリズムは、変形ダイクストラ法、変形最良優先探索法、及び変形A*探索アルゴリズムを含んでよい。例えば、A*探索アルゴリズムは、オリジナルのA*探索アルゴリズムの他に、weighted A*(上記式1のa=1、b>1)、bidirectional A*(開始ノード及び目標ノードの双方から経路を探索する)等の変形A*探索アルゴリズムを含んでよい。
 これに応じて、ニューラルネットワーク50の出力(すなわち、推定結果60)は、入力マップに含まれる各ノードについて、上記式1のコスト関数f(v)の値を導出可能に構成されてよい。一例として、各ノードの評価関数f(v)(上記式1)は、以下の式2に置き換えられてよい。
Figure JPOXMLDOC01-appb-M000002
φ(n)は、ニューラルネットワーク50により推定されるノードnのコストを示す。P(v,vs)は、開始ノードvsからノードvまでのコストが最小となるノードの系列(集合)を示す。このノードの系列(P(v,vs))は、選択演算52により経由ノードを選択した後、抽出演算51により候補ノードを抽出する際に、候補ノードの親ノードとして経由ノードの情報を連結リスト等の形式で保持することで、逐次的に更新されてよい。a及びbの値は、採用するアルゴリズムに応じて適宜決定されてよい。h(v,vg)は、上記のとおり、ノードvから目標ノードvgまで移動するのにかかると予想されるコストである。aが0ではない場合、h(v,vg)は、ニューラルネットワーク50の推定結果を利用せずに算出されてよい。例えば、h(v,vg)は、ノードvから目標ノードvgまでのユークリッド距離、マンハッタン距離等の既存の指標により算出されてよい。その他の一例では、h(v,vg)も、φ(m)の項と同様に、ニューラルネットワーク50の推定結果を利用して算出されてよい。この場合、h(v,vg)の算出方法の一例として、ノードvから目標ノードvgまでの直線上にあるノードについてのコストφ(m)の総和をh(v,vg)として算出してもよい。算出方法のその他の一例として、ノードvから目標ノードvgまでの直線上にあるノードについてのコストφ(m)の最大値、最小値又は中央値をh(v,vg)として算出してもよい。これにより、探索モジュール5は、ニューラルネットワーク50により得られる推定結果を利用し、抽出演算51及び選択演算52を実行することで、コスト最小となる経路を探索可能に構成される。なお、以下の説明では、簡略化のため、探索アルゴリズムには、オリジナルのA*探索アルゴリズム又は変形A*探索アルゴリズムを採用するものとし、h(v,vg)の算出方法には、ニューラルネットワーク50の推定結果を用いない例を採用するものとする。
 探索モジュール5の一例として、2次元のバイナリ画像によりマップが構成され、コストの値が[0,1]の範囲で与えられる場合、ニューラルネットワーク50は、例えば、出力層にシグモイド関数を用いることで、各ノード(各画素)のコストの推定結果を二次元画像(各画素の値は[0,1])で出力するように構成されてよい。マップ(バイナリ画像)は、障害物のノードの値が0であり、移動可能なノードの値が1であるように構成されてよい。開始ノードvsは、開始ノードvsの値が1であり、それ以外の値が0であるバイナリ画像により表現されてよい。同様に、目標ノードvgは、目標ノードvgの値が1であり、それ以外の値が0であるバイナリ画像により表現されてよい。上記集合C及び集合Oも、集合に属するノードの値が1であり、それ以外の値が0であるバイナリ画像により表現されてよい。この場合に、選択演算52は、以下の式3により与えられてよい。
Figure JPOXMLDOC01-appb-M000003
O(n)(∈{0,1})は、集合Oにおけるノードnの値を示す。τは、温度パラメータであり、マップのサイズによって適応的に決定されてよい。一例では、τには、マップサイズSの平方根が代入されてよい。式3の演算により、集合Oに属するノードの中からfが最小となるノードを選択することができる。なお、式3のv*は、argmaxにより選択されるノードの値が1であり、それ以外のノードの値が0であるバイナリ画像(one-hot map)により表現可能である。この選択演算52により、集合Cは、以下の式4により更新されてよい。また、集合Oは、以下の式5により更新されてよい。
Figure JPOXMLDOC01-appb-M000004
Figure JPOXMLDOC01-appb-M000005
なお、探索を開始する前に、集合Cを表現するバイナリ画像は、全てのノードの値を0に初期化されており、集合Oを表現するバイナリ画像は、開始ノードvsを表現するバイナリ画像により与えられる。上記式4の更新により、集合Cは、探索されたノードの値が1であり、探索されなかったノードの値が0であるバイナリ画像により表現されることになる。つまり、探索終了後の集合Cは、探索過程で得られるv*を全て加算した合計のバイナリ画像により表現されることになる。一方、抽出演算51は、以下の式6により与えられてよく、この抽出演算52により、集合Oは、以下の式7により更新されてよい。
Figure JPOXMLDOC01-appb-M000006
Figure JPOXMLDOC01-appb-M000007
Nは、「近接」を表現するフィルタを示す。例えば、4つの近接ノードをフィルタリングする場合、Nは、[[0,1,0],[1,0,1],[0,1,0]]であってよく、8つの近接ノードをフィルタリングする場合、Nは、[[1,1,1],[1,0,1],[1,1,1]]であってよい。演算子「*」は、畳み込み演算を示す。Iは、入力マップ(障害物のノードの値が0であり、移動可能なノードの値が1であるように構成されたバイナリ画像)を示す。演算子「\odot」は、アダマール積(要素積)を示す。式7の抽出演算51により、次の経由ノードとして選択されたノードv*に近接するノードのうち、探索候補(集合O)にも探索済み(集合C)にもなっていないノードを抽出し、集合Oに追加することができる。
 上記抽出演算51及び選択演算52により構成される第2計算モジュールの順伝播の演算は、次の(i)-(iii)の処理として表現することができる。
(i)選択演算52(式3)を実行する。
(ii)式4により、集合Cを更新する。集合Cに追加するノードv*が目標ノードvgである場合、経路探索を終了する。
(iii)抽出演算51(式6)、並びに式5及び式7による集合Oの更新を実行し、(i)に戻る。
この第2計算モジュールの順伝播の演算は、ニューラルネットワーク50(第1計算モジュール)の順伝播の演算が完了した後に実行される。バイナリ画像をマップに用いる場合、初期設定により、ニューラルネットワーク50、抽出演算51、及び選択演算52は、以上のように構成されてよい。
 次に、制御部11は、各学習データセット3について、各学習データセット3について、訓練マップ31を入力マップとして与えることで探索モジュール5により探索される経路が正解情報32により示される推奨経路の正解に適合するように探索モジュール5を訓練する。この訓練処理には、確率的勾配降下法、ミニバッチ勾配降下法等が用いられてよい。
 訓練処理の一例として、まず、制御部11は、探索モジュール5を使用して、各学習データセット3の訓練マップ31に対する経路探索を試行する。すなわち、制御部11は、各学習データセット3の訓練マップ31をニューラルネットワーク50の入力層501に入力する。ニューラルネットワーク50が、開始ノード及び目標ノードの少なくとも一方の情報の入力を更に受け付けるように構成されている場合、制御部11は、訓練マップ31と共に、訓練マップ31の開始ノードS1及び目標ノードG1の少なくとも一方の情報を入力層501に更に入力する。そして、制御部11は、ニューラルネットワーク50(第1計算モジュール)の順伝播の演算処理を実行する。この演算処理の結果として、制御部11は、訓練マップ31に含まれる各ノードのコストの推定結果60を出力層503から取得する。続いて、制御部11は、ニューラルネットワーク50によるコストの推定結果60を利用して、第2計算モジュールの順伝播の演算を実行する。具体的には、制御部11は、上記(1)(2)のとおり、集合O及び集合Cを用意し、それぞれを空にする(すなわち、初期化する)。制御部11は、開始ノードS1を集合Oに追加することで、開始ノードS1を最初の経由ノードに設定する。そして、制御部11は、得られた推定結果60を上記のとおりに利用し、目標ノードG1が経由ノードとして選択されるまで、抽出演算51及び選択演算52を繰り返す。例えば、探索モジュール5が上記バイナリ画像を用いる一例のとおり構成される場合、制御部11は、上記(i)-(iii)の処理の処理を実行する。これら一連の順伝播の演算(探索の試行)を実行した結果として、制御部11は、訓練マップ31に対する経路の探索結果62(すなわち、集合C)を得るこができる。この順伝播の演算過程では、制御部11は、抽出演算51及び選択演算52をそのまま計算する。
 次に、制御部11は、得られた探索結果62(集合C)と入力した訓練マップ31に関連付けられた正解情報32により示される推奨経路の正解との間の誤差を算出する。誤差(損失)の算出には、損失関数が用いられてよい。誤差の計算に利用する損失関数の種類は、実施の形態に応じて適宜選択されてよい。一例として、探索結果62及び正解情報32が共に画像により構成される場合、制御部11は、例えば、ハミング距離、L1距離、L2距離等の画像の同一性を評価する指標を損失関数として用いて、両画像間の誤差(差分)を算出してよい。すなわち、損失関数は、推奨経路上のノードが探索結果62に含まれていないこと、及び推奨経路以外のノードが探索結果62に含まれていることを誤差として評価可能に構成されればよい。具体例として、探索モジュール5が上記バイナリ画像を用いる一例のとおり構成され、正解情報32及び探索結果62がバイナリ画像で表現される場合、誤差Lは、以下の式8により与えられてよい。
Figure JPOXMLDOC01-appb-M000008
C(n)(∈{0,1})は、集合Cにおけるノードnの値を示す。Y(n)は、正解情報32を表現するバイナリ画像におけるノードnの値を示す。このバイナリ画像は、推奨経路上のノードの値が1、それ以外のノードの値が0になるように構成されてよい。
 続いて、制御部11は、算出された誤差の勾配を算出する。そして、制御部11は、誤差逆伝播法により、算出された誤差の勾配を用いて、各演算パラメータの値の誤差を出力側から順に算出する。探索モジュール5が上記バイナリ画像を用いる一例のとおり構成される場合、集合Cは、以下の式9のように表現することができる。これに応じて、誤差の勾配を逆伝播する演算は、以下の式10により与えられてよい。
Figure JPOXMLDOC01-appb-M000009
Figure JPOXMLDOC01-appb-M000010
* tは、上記(i)-(iii)による探索中のtステップ目で選択されたノードを示す。θは、ニューラルネットワーク50の各演算パラメータを示す。
 この誤差を逆伝播する演算過程では、制御部11は、抽出演算51及び選択演算52をそれぞれ微分可能な代替演算に置き換える。制御部11は、置き換えられた代替演算の微分計算により、抽出演算51及び選択演算52それぞれの微分計算に対応する近似勾配を算出する。一例では、抽出演算51の代替演算は、フィルタNをカーネルとした畳み込み演算であってよい。また、選択演算52の代替演算V*は、式11(straight-through soft-min with temperatureを利用した一例)の演算であってよい。
Figure JPOXMLDOC01-appb-M000011
Figure JPOXMLDOC01-appb-M000012
 式11の代替演算をargmaxn(F(-f(n)))と表現すると、式10におけるδv* t(n)/δf(n)は、δF/δf(n)と表現することができる。V*は、選択されたノードの値が1であり、それ以外のノードの値が0である配列と捉えることができる。V*のn番目の要素について、fのm番目の要素に対する勾配は、上記式12のとおり算出することができる。また、式2のφ(m)の項を式1のgの項と捉えると、δf(n)/δφ(n)は、δf(n)/δg(n)及びδg(n)/δφ(n)の積により表現することができる。このうち、Pの経路を辿る際に、抽出演算51を上記代替演算に置き換えていることで、近似勾配(すなわち、δg(n)/δφ(n)の項)を算出することができる。したがって、これらの置き換えにより、制御部11は、代替演算に置き換えなければ微分不能な上記式10におけるδv* t(n)/δf(n)の項及びδf(n)/δφ(n)の項の近似勾配を算出することができる。これにより、勾配(δL/δθ)を算出することができる。そして、制御部11は、算出された勾配(δL/δθ)を用いて、各層501~503の各演算パラメータの値の誤差を算出することができる。
 制御部11は、算出された各誤差に基づいて、各層501~503の各演算パラメータの値を更新する。各演算パラメータの値を更新する程度は、学習率により調節されてよい。学習率は、オペレータの指定により与えられてもよいし、プログラム内の設定値として与えられてもよい。
 制御部11は、上記一連の更新処理により、各学習データセット3について、算出される誤差の和が小さくなるように(上記の例では、誤差Lを最小化するように)、各層501~503の各演算パラメータの値を調整する。例えば、規定回数実行する、算出される誤差の和が閾値以下になる等の所定の条件を満たすまで、制御部11は、上記一連の更新処理による各演算パラメータの値の調整を繰り返してもよい。
 この機械学習の処理結果(一例として、上記誤差Lを最小化するように各パラメータの値を最適化した結果)として、制御部11は、使用した学習データセット3に応じた所望の経路探索タスクを遂行する能力を獲得した訓練済みの探索モジュール5を生成することができる。換言すると、上記機械学習により、探索モジュール5に推奨経路を探索する能力を獲得させると共に、冗長な探索を低減するように各ノードのコストを推定する能力をニューラルネットワーク50に獲得させることができる。機械学習の処理が完了すると、制御部11は、次のステップS103に処理を進める。
 (ステップS103)
 ステップS103では、制御部11は、保存処理部113として動作し、機械学習により生成された訓練済みの探索モジュール5に関する情報を学習結果データ125として生成する。そして、制御部11は、生成された学習結果データ125を所定の記憶領域に保存する。
 所定の記憶領域は、例えば、制御部11内のRAM、記憶部12、外部記憶装置、記憶メディア又はこれらの組み合わせであってよい。記憶メディアは、例えば、CD、DVD等であってよく、制御部11は、ドライブ17を介して記憶メディアに学習結果データ125を格納してもよい。外部記憶装置は、例えば、NAS(Network Attached Storage)等のデータサーバであってよい。この場合、制御部11は、通信インタフェース13を利用して、ネットワークを介してデータサーバに学習結果データ125を格納してもよい。また、外部記憶装置は、例えば、外部インタフェース14を介してモデル生成装置1に接続された外付けの記憶装置であってもよい。
 学習結果データ125の保存が完了すると、制御部11は、本動作例に係るモデル生成装置1の処理手順を終了する。
 なお、生成された学習結果データ125は、任意のタイミングで経路探索装置2に提供されてよい。例えば、制御部11は、ステップS103の処理として又はステップS103の処理とは別に、学習結果データ125を経路探索装置2に転送してもよい。経路探索装置2は、この転送を受信することで、学習結果データ125を取得してもよい。また、例えば、経路探索装置2は、通信インタフェース23を利用して、モデル生成装置1又はデータサーバにネットワークを介してアクセスすることで、学習結果データ125を取得してもよい。また、例えば、経路探索装置2は、記憶媒体92を介して、学習結果データ125を取得してもよい。また、例えば、学習結果データ125は、経路探索装置2に予め組み込まれてもよい。
 更に、制御部11は、上記ステップS101~ステップS103の処理を定期又は不定期に繰り返すことで、学習結果データ125を更新又は新たに生成してもよい。この繰り返しの際に、機械学習に使用する学習データセット3の少なくとも一部の変更、修正、追加、削除等が適宜実行されてよい。そして、制御部11は、更新した又は新たに生成した学習結果データ125を任意の方法で経路探索装置2に提供することで、経路探索装置2の保持する学習結果データ125を更新してもよい。
 [経路探索装置]
 図8は、本実施形態に係る経路探索装置2による経路探索タスクの遂行に関する処理手順の一例を示すフローチャートである。以下で説明する経路探索装置2の処理手順は、経路探索方法の一例である。ただし、以下で説明する経路探索装置2の処理手順は一例に過ぎず、各ステップは可能な限り変更されてよい。また、以下の処理手順について、実施の形態に応じて、適宜、ステップの省略、置換、及び追加が行われてよい。
 (ステップS201)
 ステップS201では、制御部21は、マップ取得部211として動作し、対象マップ221を取得する。
 対象マップ221は、訓練マップ31と同種のデータである。場合によっては、対象マップ221は、訓練マップ31と同一であってもよい。対象マップ221の取得には、任意のデバイスが用いられてよい。一例として、画像によりマップが構成される場合、対象マップ221の取得には、カメラが用いられてよい。制御部21は、外部インタフェース24等を介して、このデバイスから直接的に対象マップ221を取得してもよい。或いは、制御部21は、他のコンピュータを介して当該デバイスから間接的に対象マップ221を取得してもよい。
 対象マップ221と共に、制御部21は、開始ノードS2及び目標ノードG2の情報を適宜取得する。各ノード(S2、G2)の情報は、対象マップ221に含まれていてもよい。或いは、各ノード(S2、G2)の情報は、ユーザの指定、任意の情報処理の結果(例えば、現在地の測定結果)等から得られてよい。対象マップ221及び各ノード(S2、G2)の情報を取得すると、制御部21は、次のステップS202に処理を進める。
 (ステップS202)
 ステップS202では、制御部21は、探索部212として動作し、学習結果データ125を参照して、訓練済みの探索モジュール5の設定を行う。そして、制御部21は、訓練済みの探索モジュール5を使用して、取得された対象マップ221における開始ノードS2から目標ノードG2までのコスト最小となる推奨経路を探索する。
 この探索の演算処理は、上記機械学習の訓練処理における探索試行フェーズの演算処理と同様であってよい。すなわち、制御部21は、取得された対象マップ221を訓練済みのニューラルネットワーク50の入力層501に入力する。ニューラルネットワーク50が、開始ノード及び目標ノードの少なくとも一方の情報の入力を更に受け付けるように構成されている場合、制御部21は、開始ノードS2及び目標ノードG2の少なくとも一方の情報を入力層501に更に入力する。そして、制御部21は、訓練済みのニューラルネットワーク50の順伝播の演算処理を実行する。この演算処理の結果として、制御部21は、対象マップ221に含まれる各ノードのコストの推定結果223を出力層503から取得する。続いて、制御部21は、上記(1)(2)のとおり、集合O及び集合Cを用意し、それぞれを空にする。制御部21は、開始ノードS2を集合Oに追加することで、開始ノードS2を最初の経由ノードに設定する。そして、制御部21は、得られた推定結果223を利用して、目標ノードG2が経由ノードとして選択されるまで、抽出演算51及び選択演算52を繰り返す。
 これらの一連の演算処理の実行結果として、制御部21は、対象マップ221に対するコスト最小となる推奨経路の探索結果225を取得することができる。一例では、制御部21は、集合Cを参照して、目標ノードG2から親ノード(以前の経由ノード)を順に開始ノードS2まで辿ることで、コスト最小となる推奨経路を得ることができる。探索結果225を取得すると、制御部21は、次のステップS203に処理を進める。
 (ステップS203)
 ステップS203では、制御部21は、出力部213として動作し、推奨経路の探索結果225に関する情報を出力する。
 出力先及び出力する情報の内容はそれぞれ、実施の形態に応じて適宜決定されてよい。例えば、制御部21は、ステップS202により得られた探索結果225をそのまま出力装置26に出力してもよい。出力形式は、例えば、画像、音声等から適宜選択されてよい。また、例えば、制御部21は、得られた探索結果225に基づいて、何らかの情報処理を実行してもよい。そして、制御部21は、その情報処理を実行した結果を、探索結果225に関する情報として出力してもよい。この情報処理を実行した結果の出力には、探索結果225に応じて制御対象装置の動作を制御することなどが含まれてよい。出力先は、例えば、出力装置26、他のコンピュータの出力装置、制御対象装置等であってよい。
 一例として、経路の探索結果225に関する情報は、探索された経路に従ったナビゲーションにより構成されてよい。ナビゲーションは、例えば、画像、音声等により、探索された経路に沿った移動をユーザに促すことであってよい。或いは、ナビゲーションは、探索された経路に沿って駆動するように制御対象装置の動作を制御することであってよい。これにより、得られた探索結果225に従って、移動案内又は動作制御を実行することができる。
 探索結果225に関する情報の出力が完了すると、制御部21は、本動作例に係る経路探索装置2の処理手順を終了する。経路探索装置2は、ステップS201~ステップS203の一連の情報処理を任意のタイミング(例えば、ユーザからの指示を受け付けた時点、制御対象装置の動作を制御する時点等)で実行するように構成されてよい。また、経路探索装置2は、ステップS201~ステップS203の一連の情報処理を繰り返し実行することで、上記経路探索タスクを繰り返し遂行するように構成されてよい。
 [特徴]
 以上のとおり、本実施形態に係るモデル生成装置1は、ステップS102において、第1計算モジュール(ニューラルネットワーク50)のみを機械学習の対象として取り扱うのではなく、第1計算モジュール及び第2計算モジュール(抽出演算51及び選択演算52)の両方を機械学習の対象として取り扱う。これにより、ステップS101で取得する各学習データセット3の正解情報32の用意にかかる作業時間及び負担を抑えることができる。したがって、本実施形態によれば、訓練済みの探索モジュール5の生成にかかる手間の低減を図ることができる。
 また、ステップS102の機械学習の過程で、探索モジュール5は推奨経路を最適に探索するように訓練されていくのに応じて、ニューラルネットワーク50は、探索の効率性を悪化させるエリアのコストを高く推定するように、正解情報32に示される推奨経路から間接的に訓練される。本実施形態に係る経路探索装置2は、ステップS202の処理において、この訓練済みのニューラルネットワーク50によるコストの推定結果223を使用することで、経路探索タスクを効率的に遂行することができる。探索モジュール5の探索アルゴリズムにA*探索アルゴリズムを採用した場合には、コストが最小となる経路を得るための効率性を高めることができる。また、探索モジュール5の探索アルゴリズムに最良優先探索法を採用した場合には、訓練済みのニューラルネットワーク50による各ノードのコストの推定結果を利用することで、コストが最小となる経路を得る確率を高めることができる。
 更には、本実施形態に係るモデル生成装置1は、ステップS102の機械学習の逆伝播のフェーズにおいて、探索モジュール5に含まれる抽出演算51及び選択演算52それぞれを代替演算に置き換え、代替演算の微分計算により算出されるそれぞれの近似勾配を抽出演算51及び選択演算52それぞれの勾配として採用する。この置き換えにより、微分不可能な第2計算モジュールを含む探索モジュール5の機械学習を適切に実施することができる。その結果、上記経路探索タスクを効率的に遂行可能な訓練済みの探索モジュール5を機械学習により適切に生成することができる。
 §4 変形例
 以上、本発明の実施の形態を詳細に説明してきたが、前述までの説明はあらゆる点において本発明の例示に過ぎない。本発明の範囲を逸脱することなく種々の改良又は変形を行うことができることは言うまでもない。例えば、以下のような変更が可能である。なお、以下では、上記実施形態と同様の構成要素に関しては同様の符号を用い、上記実施形態と同様の点については、適宜説明を省略した。以下の変形例は適宜組み合わせ可能である。
 <4.1>
 上記実施形態に係る経路探索システム100は、与えられたマップにおいて経路を探索するあらゆる場面に適用されてよい。具体例として、上記実施形態に係る経路探索システム100は、移動体に推奨する経路を探索する場面、ロボット装置に推奨する動線を探索する場面等に適用されてよい。以下、適用場面を限定した一具体例を示す。
 (A)移動体に推奨する経路を探索する場面
 図9は、第1具体例に係る案内システム100Aの適用場面の一例を模式的に例示する。第1具体例は、移動体に推奨する経路を探索する場面に上記実施形態を適用した例である。第1具体例に係る案内システム100Aは、モデル生成装置1及び案内装置2Aを備える。案内装置2Aは、上記経路探索装置2の一例である。
 第1具体例におけるマップ(訓練マップ、対象マップ)は、移動体の移動を許容する範囲を含むように構成される。マップに含まれる各ノードは、移動体の移動を許容する空間領域(例えば、道路、広場、建物内のスペース等)の任意の地点に対応してよい。このマップは、画像により構成されてよい。この場合、マップは、カメラにより適宜得られてよい。カメラの種類は任意に選択されてよい。カメラには、例えば、一般的なRGBカメラ、赤外線カメラ、深度カメラ等が用いられてよい。その他、カメラには、Lidar(Light Detection And Ranging)センサ等の距離センサが用いられてもよい。一例として、航空写真、ドローン撮影写真等、移動体の移動可能な空間領域を撮影することで得られた実画像がマップとして用いられてよい。或いは、地図、見取り図等、当該空間領域を表現する画像がマップとして用いられてよい。或いは、当該空間領域の移動可能な領域及び移動不能な領域を二値で表現するバイナリ画像がマップとして用いられてよい。移動体は、例えば、車両、ドローン等の移動するように構成された機械であってよい。或いは、移動体は、人であってよい。図9の例では、移動体は、車両である。これらの点を除き、第1具体例の構成は、上記実施形態と同様であってよい。
 (モデル生成装置)
 第1具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、移動体が移動するのに推奨される経路を探索する能力を獲得した訓練済みの探索モジュール5を生成することができる。
 すなわち、ステップS101では、制御部11は、訓練マップ及び正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得する。訓練マップは、移動体の移動を許容する範囲を含むように構成される。正解情報は、移動体が移動するのに推奨される経路を推奨経路として示すように構成される。ステップS102では、制御部11は、取得された複数の学習データセットを使用して、探索モジュール5の機械学習を実施する。上記実施形態と同様に、機械学習の逆伝播のフェーズでは、制御部11は、代替演算の微分計算により算出されるそれぞれの近似勾配を抽出演算51及び選択演算52それぞれの微分計算の結果として採用する。この機械学習により、移動体に対する推奨経路を探索する能力を獲得した訓練済みの探索モジュール5を生成することができる。ステップS103では、制御部11は、生成された訓練済みの探索モジュール5を示す学習結果データを所定の記憶領域に保存する。学習結果データは、任意のタイミングで案内装置2Aに提供されてよい。
 (案内装置)
 案内装置2Aのハードウェア構成及びソフトウェア構成は、上記実施形態に係る経路探索装置2と同様であってよい。第1具体例において、案内装置2Aは、上記経路探索装置2と同様の処理手順により、移動体が移動するのに推奨される経路を探索することができる。
 すなわち、ステップS201では、案内装置2Aの制御部は、マップ取得部として動作し、移動体の移動を許容する(すなわち、移動体の移動対象となる)範囲を含む対象マップ221Aを取得する。対象マップ221Aを取得する方法は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例として、地上を移動する移動体の移動計画を立てるために、その移動体の存在する領域及びその周囲の領域をドローンで撮影することで得られる画像を対象マップ221Aとして用いてよい。
 また、制御部は、開始ノードSA2及び目標ノードGA2の情報を適宜取得する。開始ノードSA2は、移動体の現在地又は所望の開始地点に対応してよい。目標ノードGA2は、移動体の目的地に対応してよい。一例として、各ノード(SA2、GA2)の情報は、ユーザの指定により得られてよい。その他の一例として、案内装置2Aが、GPS(Global Positioning System)等の測定器を備える場合、開始ノードSA2の情報は、測定器による現在地の測定結果から得られてよい。対象マップ221Aが画像であり、対象マップ221Aに写る目的物(例えば、特定の建物、地点等)に向けて移動体が移動する場合、目標ノードGA2の情報は、対象マップ221Aに対する画像識別の結果から得られてよい。画像識別の方法は任意でよい。対象マップ221Aは、開始ノードSA2及び目標ノードGA2が特定された後に、それぞれを含むように適宜取得されてもよい。
 ステップS202では、制御部は、探索部として動作し、訓練済みの探索モジュール5を使用して、取得された対象マップ221Aにおいて開始ノードSA2から目標ノードGA2まで移動体が移動するのに推奨される経路を探索する。具体的に、制御部は、訓練済みのニューラルネットワーク50を使用して、対象マップ221Aに含まれる各ノードのコストを推定する。訓練済みのニューラルネットワーク50の演算処理の結果、制御部は、各ノードのコストの推定結果223Aを取得する。制御部は、集合O及び集合Cを用意し、それぞれを空にする。制御部は、開始ノードSA2を集合Oに追加することで、開始ノードSA2を最初の経由ノードに設定する。そして、制御部は、得られた推定結果223Aを利用して、目標ノードGA2が経由ノードとして選択されるまで、抽出演算51及び選択演算52を繰り返す。これにより、制御部は、開始ノードSA2から目標ノードGA2までのコスト最小となる推奨経路の探索結果225Aを得ることができる。
 ステップS203では、制御部は、出力部として動作し、推奨経路の探索結果225Aに関する情報を出力する。一例として、制御部は、得られた推奨経路をそのまま出力してもよい。その他の一例として、制御部は、得られた探索結果225Aに基づいて、探索された推奨経路に沿った移動をナビゲートしてもよい。ナビゲートは、例えば、画像、音声等により行われてよい。移動体が、例えば、車両、ドローン等の機械である場合、ナビゲートは、ユーザの手動操作により推奨経路に沿った移動を促すようにメッセージ等の情報をユーザに対して出力することであってよい。或いは、案内装置2Aが当該機械の動作を制御可能に構成されている場合、ナビゲートは、探索された推奨経路に沿って移動するように当該機械の動作を制御することであってよい。移動体が、人である場合、ナビゲートは、推奨経路に沿った移動を促すようにメッセージなどの情報を人に対して出力することであってよい。
 (特徴)
 第1具体例のモデル生成装置1によれば、移動体に推奨する経路を探索する能力を獲得した訓練済みの探索モジュール5の生成にかかる手間の低減を図ることができる。また、案内装置2Aでは、訓練済みの探索モジュール5を使用することで、移動体に推奨する経路を効率的に探索することができる。更に、モデル生成装置1では、機械学習の逆伝播フェーズにおける抽出演算51及び選択演算52の置き換えにより、探索モジュール5の機械学習を適切に実施することができる。その結果、移動体に推奨する経路を探索するタスクを効率的に遂行可能な訓練済みの探索モジュール5を適切に生成することができる。
 (B)ロボット装置に推奨する動線を探索する場面
 図10は、第2具体例に係る制御システム100Bの適用場面の一例を模式的に例示する。第2具体例は、ロボット装置RBに推奨する経路を探索する場面に上記実施形態を適用した例である。第2具体例に係る制御システム100Bは、モデル生成装置1及び制御装置2Bを備える。制御装置2Bは、上記経路探索装置2の一例である。
 第2具体例におけるマップ(訓練マップ、対象マップ)は、ロボット装置RBの駆動を許容する範囲を含むように構成される。マップに含まれる各ノードは、ロボット装置RBの作業エリアの任意の地点に対応してよい。このマップは、画像により構成されてよい。この場合、マップは、カメラにより適宜得られてよい。カメラの種類は任意に選択されてよい。一例として、ロボット装置RBの駆動可能な空間領域を撮影することで得られた実画像がマップとして用いられてよい。或いは、当該空間領域の移動可能な領域及び移動不能な領域を二値で表現するバイナリ画像がマップとして用いられてよい。マップは、ロボット装置RBの作業環境をモデル化することで得られてもよい。ロボット装置RBは、例えば、産業用ロボット(例えば、ロボットアーム等)、自律型ロボット等であってよい。これらの点を除き、第2具体例の構成は、上記実施形態と同様であってよい。
 (モデル生成装置)
 第2具体例において、モデル生成装置1は、上記実施形態と同様の処理手順により、ロボット装置RBが動作するのに推奨される経路を探索する能力を獲得した訓練済みの探索モジュール5を生成することができる。
 すなわち、ステップS101では、制御部11は、訓練マップ及び正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得する。訓練マップは、ロボット装置RBの駆動を許容する範囲を含むように構成される。正解情報は、ロボット装置RBが動作するのに推奨される経路を推奨経路として示すように構成される。ステップS102では、制御部11は、取得された複数の学習データセットを使用して、探索モジュール5の機械学習を実施する。上記実施形態と同様に、機械学習の逆伝播のフェーズでは、制御部11は、代替演算の微分計算により算出されるそれぞれの近似勾配を抽出演算51及び選択演算52それぞれの微分計算の結果として採用する。この機械学習により、ロボット装置RBに対して推奨経路を探索する能力を獲得した訓練済みの探索モジュール5を生成することができる。ステップS103では、制御部11は、生成された訓練済みの探索モジュール5を示す学習結果データを所定の記憶領域に保存する。学習結果データは、任意のタイミングで制御装置2Bに提供されてよい。
 (制御装置)
 制御装置2Bのハードウェア構成及びソフトウェア構成は、上記実施形態に係る経路探索装置2と同様であってよい。駆動対象となるロボット装置RBは、通信インタフェース又は外部インタフェースを介して制御装置2Bに接続されてよい。第2具体例において、制御装置2Bは、上記経路探索装置2と同様の処理手順により、ロボット装置RBが動作するのに推奨される経路を探索することができる。
 すなわち、ステップS201では、制御装置2Bの制御部は、マップ取得部として動作し、ロボット装置RBの駆動を許容する範囲を含む対象マップ221Bを取得する。対象マップ221Bを取得する方法は、特に限定されなくてよく、実施の形態に応じて適宜選択されてよい。一例として、ロボット装置RBに設けられた又はその周囲に配置されたカメラでロボット装置RBの作業範囲を撮影することにより得られる画像を対象マップ221Bとして用いてよい。その他の一例として、ロボット装置RBの周辺環境をモデル化することで生成された環境情報を対象マップ221Bとして用いてよい。
 制御部は、開始ノードSB2及び目標ノードGB2の情報を適宜取得する。開始ノードSB2は、ロボット装置RBの現在位置又は所望の開始位置に対応してよい。ロボット装置RBがエンドエフェクタを備える場合、開始ノードSB2は、エンドエフェクタの現在位置又は所望の開始位置に対応してよい。目標ノードGB2は、ロボット装置RBの目標位置に対応してよい。ロボット装置RBの目標位置は、例えば、ワーク等の目標物の配置された位置であってよい。一例として、各ノード(SB2、GB2)の情報は、オペレータの指定により得られてよい。その他の一例として、開始ノードSB2の情報は、自装置の情報(例えば、エンドエフェクタの現在位置)から得られてよい。目標ノードGB2の情報は、目標位置の設定情報から得られてよい。更にその他の一例として、対象マップ221Bが画像であり、ロボット装置RB及び目標物が画像に写っている場合、各ノード(SB2、GB2)の情報は、対象マップ221Bに対する画像識別の結果から得られてよい。画像識別の方法は任意でよい。対象マップ221Bは、開始ノードSB2及び目標ノードGB2が特定された後に、それぞれを含むように適宜取得されてもよい。
 ステップS202では、制御部は、探索部として動作し、訓練済みの探索モジュール5を使用して、取得された対象マップ221Bにおいて開始ノードSB2から目標ノードGB2までロボット装置RBが動作するのに推奨される経路を探索する。具体的に、制御部は、訓練済みのニューラルネットワーク50を使用して、対象マップ221Bに含まれる各ノードのコストを推定する。訓練済みのニューラルネットワーク50の演算処理の結果、制御部は、各ノードのコストの推定結果223Bを取得する。制御部は、集合O及び集合Cを用意し、それぞれを空にする。制御部は、開始ノードSB2を集合Oに追加することで、開始ノードSB2を最初の経由ノードに設定する。そして、制御部は、得られた推定結果223Bを利用して、目標ノードGB2が経由ノードとして選択されるまで、抽出演算51及び選択演算52を繰り返す。これにより、制御部は、開始ノードSB2から目標ノードGB2までのコスト最小となる推奨経路の探索結果225Bを得ることができる。
 ステップS203では、制御部は、出力部として動作し、推奨経路の探索結果225Bに関する情報を出力する。一例として、制御部は、得られた推奨経路をそのまま出力してもよい。その他の一例として、制御部は、得られた探索結果225Bに基づいて、探索された推奨経路に沿ってロボット装置RBを駆動するようにナビゲートしてもよい。ナビゲートは、例えば、画像、音声等により行われてよい。ナビゲートは、オペレータの手動操作により推奨経路に沿ったロボット装置RBの駆動を促す(すなわち、動作を指示する)ようにメッセージ等の情報をオペレータに対して出力することであってよい。或いは、制御装置2Bがロボット装置RBの動作を制御可能に構成されている場合、ナビゲートは、探索された推奨経路に沿って駆動するようにロボット装置RBの動作を制御することであってよい。
 (特徴)
 第2具体例のモデル生成装置1によれば、ロボット装置RBに推奨する経路を探索する能力を獲得した訓練済みの探索モジュール5の生成にかかる手間の低減を図ることができる。また、制御装置2Bでは、訓練済みの探索モジュール5を使用することで、ロボット装置RBに推奨する経路を効率的に探索することができる。更に、モデル生成装置1では、機械学習の逆伝播フェーズにおける抽出演算51及び選択演算52の置き換えにより、探索モジュール5の機械学習を適切に実施することができる。その結果、ロボット装置RBに推奨する経路を探索するタスクを効率的に遂行可能な訓練済みの探索モジュール5を適切に生成することができる。
 (C)その他
 以上、2つの具体例を示したが、上記実施形態を適用可能な場面はこれらに限定されるものではない。他の一例として、上記実施形態に係る経路探索システム100は、交通機関(例えば、航空、鉄道、バス等)を利用する経路を探索する場面に適用されてよい。この場合、マップ(訓練マップ、対象マップ)は、交通機関により形成される交通網の任意の範囲を含むように構成される。マップに含まれる各ノードは、交通機関の拠点(例えば、駅)等の地理上の任意の地点に対応してよい。正解情報は、交通機関を利用して移動するのに推奨される経路を推奨経路として示すように構成されてよい。これにより、モデル生成装置1は、交通機関を利用して移動するのに推奨される経路を探索する能力を獲得した訓練済みの探索モジュール5を生成することができる。また、経路探索装置2は、訓練済みの探索モジュール5を使用して、交通機関を利用して移動するのに推奨される経路を探索することができる。
 <4.2>
 ニューラルネットワーク50の構成は、上記実施形態の例に限定されなくてよく、実施の形態に応じて適宜変更されてよい。例えば、各ニューロンは、隣接する層の特定のニューロンと接続されたり、隣接する層以外の層のニューロンと接続されたりしてもよい。各ニューロンの結合関係は、実施の形態に応じて適宜決定されてよい。中間層502は、省略されてもよい。ニューラルネットワーク50は、例えば、畳み込み層、プーリング層、正規化層、ドロップアウト層等の他の種類の層を含んでもよい。ニューラルネットワーク50は、畳み込みニューラルネットワーク、再帰型ニューラルネットワーク、グラフニューラルネットワーク等の他の形式のニューラルネットワークにより構成されてよい。
 また、上記実施形態において、ニューラルネットワーク50の入力及び出力の形式は、特に限定されなくてよく、実施の形態に応じて適宜決定されてよい。例えば、ニューラルネットワーク50は、マップ以外の情報の入力を更に受け付けるように構成されてもよい。また、例えば、ニューラルネットワーク50は、各ノードのコストの推定結果以外の情報を出力するように構成されてもよい。
 また、上記実施形態において、抽出演算51及び選択演算52は、実施の形態に応じて適宜変更されてよい。例えば、選択演算52は、以下の式13又は式14により与えられてよい。これに応じて、選択演算52の代替演算は、式3及び式11の関係と同様に、式13及び式14それぞれからO(n)を削除した演算により構成されてよい。
Figure JPOXMLDOC01-appb-M000013
Figure JPOXMLDOC01-appb-M000014
なお、w(n)は、非負(0以上)の重みである。
 §5 実験例
 逆伝播フェーズの置き換え及びニューラルネットワークにより得られるコストの推定結果を利用した探索の有効性を検証するために、以下の実施例及び比較例に係る探索モジュールを生成した。ただし、本発明は、以下の実施例に限定されるものではない。
 まず、上記実施形態と同様の方法により、バイナリ画像により構成されたマップにおいて開始ノードから目標ノードまでの最短経路を探索する能力を獲得した実施例に係る訓練済みの探索モジュールを生成した。ニューラルネットワークには、VGG-16 Network(参考文献<URL: https://pytorch.org/hub/pytorch#vision#vgg/>で公開されているネットワーク)の入力側の10層により構成されたU-Netを使用した。入力には、入力マップ(障害物のノードの値が0であり、それ以外のノードの値が1である)、並びに開始ノード及び目標ノードの値が1であり、それ以外のノードの値が0であるマップを結合することで得られる2チャンネルのマップを用いた。また、出力層の活性化関数にシグモイド関数を用いて、[0,1]の範囲で正規化された値を各ノードのコストの推定値として出力するようにニューラルネットワークを構成した。学習データセットには、参考文献<URL: https://github.com/mohakbhardwaj/motion#planning#datasets>で公開されているサンプルを使用した。マップのサイズは、32×32であった。障害物の種類毎に800個のサンプルを取得し、かつ探索モジュールを用意した。そして、障害物の種類毎に各探索モジュールの機械学習を実行した。機械学習の最適化アルゴリズムには、Adamを用いた。学習率は0.001に設定した。バッチサイズは100に設定した。エポック数は100に設定した。抽出演算の代替演算には、[[0,1,0],[1,0,1],[0,1,0]]をカーネルとした畳み込み演算を使用した。選択演算の探索アルゴリズムには、A*探索アルゴリズムを用いた。ノードvから目標ノードvgまでの直線距離(マンハッタン距離)をコストとして算出する関数をh(v,vg)として採用した。選択演算の代替演算には、上記式11(straight-through soft-min with temperature)を使用した。τには、32の平方根を代入した。一方、ニューラルネットワークを省略し、上記(1)~(4)の手順でA*探索アルゴリズムにより最短経路を探索するように構成された比較例に係る探索モジュールを作成した。実施例の選択演算と同様に、比較例でも、ノードvから目標ノードvgまでの直線距離(マンハッタン距離)をコストとして算出する関数をh(v,vg)として採用した。そして、実施例及び各比較例に係る探索モジュールに3つの評価用の対象マップを与えて、各対象マップにおいて開始ノードから目標ノードまでの最短経路の探索を実行させた。
 図11A、図11B及び図11Cは、評価に使用した対象マップを示す。図12A、図12B及び図12Cは、比較例に係る探索モジュールにより図11A、図11B及び図11Cの対象マップにおいて経路を探索した結果(濃い灰色)及び探索の対象となったノード(集合C、薄い灰色)を示す。図13A、図13B及び図13Cは、実施例に係る探索モジュールのニューラルネットワークにより図11A、図11B及び図11Cの対象マップに含まれる各ノードのコストを推定した結果を示す。図14A、図14B及び図14Cは、実施例に係る探索モジュールにより図11A、図11B及び図11Cの対象マップにおいて経路を探索した結果(濃い灰色)及び探索の対象となったノード(薄い灰色)を示す。
 図14A、図14B及び図14Cに示されるとおり、実施例に係る訓練済みの探索モジュールによれば、評価用の対象マップにおいて開始ノードから目標ノードまでの最短経路を適切に発見することができた。この結果から、上記逆伝播フェーズの置き換えにより、微分不可能な演算を含んでいても、探索モジュールの機械学習を適切に実行することができ、これにより、推奨経路を探索する能力を獲得した訓練済みの探索モジュールを適切に生成可能であることが分かった。また、図12A、図12B、図12C、図14A、図14B及び図14Cに示されるとおり、比較例に比べて、実施例では、探索の対象となるノードの数を低減することができた。図13A、図13B及び図13Cに示されるとおり、訓練済みのニューラルネットワークによれば、探索の効率を悪化させる領域のコストが高くなるように(すなわち、この領域のノードの探索を回避するように)各ノードのコストを推定することができた。この結果から、上記機械学習において間接的に訓練されたニューラルネットワークにより得られる各ノードのコストの推定結果を使用することで、経路探索の効率の改善を適切に図ることができることが分かった。
 1…モデル生成装置、
 11…制御部、12…記憶部、13…通信インタフェース、
 14…外部インタフェース、
 15…入力装置、16…出力装置、17…ドライブ、
 81…モデル生成プログラム、91…記憶媒体、
 111…データ取得部、112…学習処理部、
 113…保存処理部、
 125…学習結果データ、
 2…経路探索装置、
 21…制御部、22…記憶部、23…通信インタフェース、
 24…外部インタフェース、
 25…入力装置、26…出力装置、27…ドライブ、
 82…経路探索プログラム、92…記憶媒体、
 211…マップ取得部、212…探索部、213…出力部、
 221…対象マップ、
 3…学習データセット、
 31…訓練マップ、32…正解情報、
 5…探索モジュール、
 50…ニューラルネットワーク、
 501…入力層、502…中間(隠れ)層、
 503…出力層、
 51…抽出する演算、52…選択する演算

Claims (14)

  1.  訓練マップ、及び前記訓練マップにおける推奨経路を示す正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するデータ取得部と、
     前記複数の学習データセットを使用して、探索モジュールの機械学習を実施する学習処理部であって、
      前記探索モジュールは、
       入力マップに含まれる複数のノードそれぞれのコストを推定するように構成されるニューラルネットワーク、
       経由ノードに近接する1つ以上の候補ノードを入力マップに含まれる複数のノードから抽出する演算、及び
       前記ニューラルネットワークの推定結果に基づいて、コストの総和が最小となるように、抽出された1つ以上の候補ノードから次の経由ノードを選択する演算、を含み、
      前記探索モジュールは、開始ノードを最初の経由ノードに設定し、目標ノードが経由ノードとして選択されるまで、前記抽出する演算及び選択する演算を繰り返すことで、開始ノードから目標ノードまでの経路を探索するように構成され、
      前記機械学習は、前記各学習データセットについて、前記訓練マップを前記入力マップとして与えることで前記探索モジュールにより探索される経路が前記正解情報により示される推奨経路に適合するように前記探索モジュールを訓練することにより構成され、
      前記機械学習の間、順伝播のフェーズでは、前記抽出する演算及び前記選択する演算をそのまま計算するのに対して、逆伝播のフェーズでは、前記抽出する演算及び前記選択する演算それぞれを微分可能な代替演算に置き換え、置き換えられた前記代替演算の微分計算により、前記抽出する演算及び前記選択する演算それぞれの微分計算に対応する近似勾配を算出する、
    学習処理部と、
    を備える、
    モデル生成装置。
  2.  前記選択する演算は、前記ニューラルネットワークの推定結果に基づいて、所定の探索アルゴリズムによりコストの総和が最小となるように、抽出された1つ以上の候補ノードから次の経由ノードを選択するように構成される、
    請求項1に記載のモデル生成装置。
  3.  前記所定の探索アルゴリズムは、ダイクストラ法、最良優先探索法、又はA*探索アルゴリズムである、
    請求項2に記載のモデル生成装置。
  4.  前記訓練マップは、移動体の移動を許容する範囲を含み、
     前記正解情報により示される前記推奨経路は、前記移動体が移動するのに推奨される経路である、
    請求項1から3のいずれか1項に記載のモデル生成装置。
  5.  前記訓練マップは、ロボット装置の駆動を許容する範囲を含み、
     前記正解情報により示される前記推奨経路は、前記ロボット装置が動作するのに推奨される経路である、
    請求項1から3のいずれか1項に記載のモデル生成装置。
  6.  前記推奨経路は、最短経路である、
    請求項1から5のいずれか1項に記載のモデル生成装置。
  7.  前記訓練マップは、画像により構成され、
     前記ノードは、画素により構成される、
    請求項1から6のいずれか1項に記載のモデル生成装置。
  8.  前記画像は、実画像又はバイナリ画像により構成される、
    請求項7に記載のモデル生成装置。
  9.  対象マップを取得するマップ取得部と、
     訓練済みの探索モジュールを使用して、取得された前記対象マップにおける開始ノードから目標ノードまでの経路を探索する探索部であって、
      前記訓練済みの探索モジュールは、訓練マップ、及び前記訓練マップにおける推奨経路を示す正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを使用した機械学習により生成されたものであり、
      前記探索モジュールは、
       入力マップに含まれる複数のノードそれぞれのコストを推定するように構成されるニューラルネットワーク、
       経由ノードに近接する1つ以上の候補ノードを入力マップに含まれる複数のノードから抽出する演算、及び
       前記ニューラルネットワークの推定結果に基づいて、コストの総和が最小となるように、抽出された1つ以上の候補ノードから次の経由ノードを選択する演算、を含み、
      前記探索モジュールは、開始ノードを最初の経由ノードに設定し、目標ノードが経由ノードとして選択されるまで、前記抽出する演算及び選択する演算を繰り返すことで、開始ノードから目標ノードまでの経路を探索するように構成され、
      前記機械学習は、前記各学習データセットについて、前記訓練マップを前記入力マップとして与えることで前記探索モジュールにより探索される経路が前記正解情報により示される推奨経路に適合するように前記探索モジュールを訓練することにより構成され、
      前記機械学習の間、順伝播のフェーズでは、前記抽出する演算及び前記選択する演算はそのまま計算されたのに対して、逆伝播のフェーズでは、前記抽出する演算及び前記選択する演算それぞれは微分可能な代替演算に置き換えられ、置き換えられた前記代替演算の微分計算により、前記抽出する演算及び前記選択する演算それぞれの微分計算に対応する近似勾配が算出される、
    探索部と、
     前記対象マップに対して前記経路を探索した結果に関する情報を出力する出力部と、
    を備える、
    経路探索装置。
  10.  前記対象マップは、移動体の移動を許容する範囲を含み、
     前記探索部は、前記訓練済みの探索モジュールを使用して、取得された前記対象マップにおける前記開始ノードから前記目標ノードまで前記移動体が移動するのに推奨される経路を探索する、
    請求項9に記載の経路探索装置。
  11.  前記対象マップは、ロボット装置の駆動を許容する範囲を含み、
     前記探索部は、前記訓練済みの探索モジュールを使用して、取得された前記対象マップにおける前記開始ノードから前記目標ノードまで前記ロボット装置が動作するのに推奨される経路を探索する、
    請求項9に記載の経路探索装置。
  12.  前記経路を探索した結果に関する情報は、探索された経路に従ったナビゲーションにより構成される、
    請求項9から11に記載の経路探索装置。
  13.  コンピュータが、
     訓練マップ、及び前記訓練マップにおける推奨経路を示す正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
     前記複数の学習データセットを使用して、探索モジュールの機械学習を実施するステップであって、
      前記探索モジュールは、
       入力マップに含まれる複数のノードそれぞれのコストを推定するように構成されるニューラルネットワーク、
       経由ノードに近接する1つ以上の候補ノードを入力マップに含まれる複数のノードから抽出する演算、及び
       前記ニューラルネットワークの推定結果に基づいて、コストの総和が最小となるように、抽出された1つ以上の候補ノードから次の経由ノードを選択する演算、を含み、
      前記探索モジュールは、開始ノードを最初の経由ノードに設定し、目標ノードが経由ノードとして選択されるまで、前記抽出する演算及び選択する演算を繰り返すことで、開始ノードから目標ノードまでの経路を探索するように構成され、
      前記機械学習は、前記各学習データセットについて、前記訓練マップを前記入力マップとして与えることで前記探索モジュールにより探索される経路が前記正解情報により示される推奨経路に適合するように前記探索モジュールを訓練することにより構成され、
      前記機械学習の間、順伝播のフェーズでは、前記抽出する演算及び前記選択する演算をそのまま計算するのに対して、逆伝播のフェーズでは、前記抽出する演算及び前記選択する演算それぞれを微分可能な代替演算に置き換え、置き換えられた前記代替演算の微分計算により、前記抽出する演算及び前記選択する演算それぞれの微分計算に対応する近似勾配を算出する、
    ステップと、
    を実行する、
    モデル生成方法。
  14.  コンピュータに、
     訓練マップ、及び前記訓練マップにおける推奨経路を示す正解情報の組み合わせによりそれぞれ構成される複数の学習データセットを取得するステップと、
     前記複数の学習データセットを使用して、探索モジュールの機械学習を実施するステップであって、
      前記探索モジュールは、
       入力マップに含まれる複数のノードそれぞれのコストを推定するように構成されるニューラルネットワーク、
       経由ノードに近接する1つ以上の候補ノードを入力マップに含まれる複数のノードから抽出する演算、及び
       前記ニューラルネットワークの推定結果に基づいて、コストの総和が最小となるように、抽出された1つ以上の候補ノードから次の経由ノードを選択する演算、を含み、
      前記探索モジュールは、開始ノードを最初の経由ノードに設定し、目標ノードが経由ノードとして選択されるまで、前記抽出する演算及び選択する演算を繰り返すことで、開始ノードから目標ノードまでの経路を探索するように構成され、
      前記機械学習は、前記各学習データセットについて、前記訓練マップを前記入力マップとして与えることで前記探索モジュールにより探索される経路が前記正解情報により示される推奨経路に適合するように前記探索モジュールを訓練することにより構成され、
      前記機械学習の間、順伝播のフェーズでは、前記抽出する演算及び前記選択する演算をそのまま計算するのに対して、逆伝播のフェーズでは、前記抽出する演算及び前記選択する演算それぞれを微分可能な代替演算に置き換え、置き換えられた前記代替演算の微分計算により、前記抽出する演算及び前記選択する演算それぞれの微分計算に対応する近似勾配を算出する、
    ステップと、
    を実行させるための、
    モデル生成プログラム。
PCT/JP2021/025066 2020-07-30 2021-07-02 モデル生成装置、経路探索装置、モデル生成方法、及びモデル生成プログラム WO2022024663A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
EP21849538.0A EP4191203A1 (en) 2020-07-30 2021-07-02 Model generation device, route retrieval device, model generation method, and model generation program
US18/002,870 US20230342614A1 (en) 2020-07-30 2021-07-02 Model generation apparatus, pathfinding apparatus, model generation method, and computer-readable storage medium storing a model generation program
CN202180043798.6A CN115803587A (zh) 2020-07-30 2021-07-02 模型生成装置及方法、路径搜索装置以及模型生成程序

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020-129409 2020-07-30
JP2020129409A JP7341387B2 (ja) 2020-07-30 2020-07-30 モデル生成方法、探索プログラム及びモデル生成装置

Publications (1)

Publication Number Publication Date
WO2022024663A1 true WO2022024663A1 (ja) 2022-02-03

Family

ID=80035468

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2021/025066 WO2022024663A1 (ja) 2020-07-30 2021-07-02 モデル生成装置、経路探索装置、モデル生成方法、及びモデル生成プログラム

Country Status (5)

Country Link
US (1) US20230342614A1 (ja)
EP (1) EP4191203A1 (ja)
JP (2) JP7341387B2 (ja)
CN (1) CN115803587A (ja)
WO (1) WO2022024663A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023155306A1 (zh) * 2022-02-16 2023-08-24 平安科技(深圳)有限公司 基于图神经网络的数据推荐方法及装置、电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021489A (ja) * 1996-07-02 1998-01-23 Hitachi Ltd 道路案内方法およびシステム
JP2001249021A (ja) * 2000-02-01 2001-09-14 Robert Bosch Gmbh ナビゲーションシステム及びナビゲーションシステムのユーザー固有の適合化のための方法
JP2020046652A (ja) * 2019-07-17 2020-03-26 カラクリ株式会社 サーバ装置、システム、方法およびプログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102546996B1 (ko) * 2016-08-19 2023-06-26 모비디어스 리미티드 희소 볼륨 데이터를 사용한 연산들
US20180113450A1 (en) * 2016-10-20 2018-04-26 Toyota Motor Engineering & Manufacturing North America, Inc. Autonomous-mode traffic lane selection based on traffic lane congestion levels
US10515390B2 (en) * 2016-11-21 2019-12-24 Nio Usa, Inc. Method and system for data optimization
WO2018120013A1 (en) * 2016-12-30 2018-07-05 Nokia Technologies Oy Artificial neural network
JP6810092B2 (ja) 2018-04-24 2021-01-06 日本電信電話株式会社 学習装置、学習方法及び学習プログラム
WO2019220755A1 (ja) 2018-05-14 2019-11-21 ソニー株式会社 情報処理装置および情報処理方法
US20210209447A1 (en) 2018-05-31 2021-07-08 Nec Corporation Information processing apparatus, control method, and program
JP2020009178A (ja) * 2018-07-09 2020-01-16 日本電信電話株式会社 変換装置、学習装置、変換方法、学習方法及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1021489A (ja) * 1996-07-02 1998-01-23 Hitachi Ltd 道路案内方法およびシステム
JP2001249021A (ja) * 2000-02-01 2001-09-14 Robert Bosch Gmbh ナビゲーションシステム及びナビゲーションシステムのユーザー固有の適合化のための方法
JP2020046652A (ja) * 2019-07-17 2020-03-26 カラクリ株式会社 サーバ装置、システム、方法およびプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MOHAK BHARDWAJSANJIBAN CHOUDHURYSEBASTIAN SCHERER: "Learning Heuristic Search via Imitation", CORL, 2017, pages 271 - 280

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023155306A1 (zh) * 2022-02-16 2023-08-24 平安科技(深圳)有限公司 基于图神经网络的数据推荐方法及装置、电子设备

Also Published As

Publication number Publication date
US20230342614A1 (en) 2023-10-26
CN115803587A (zh) 2023-03-14
JP2022026106A (ja) 2022-02-10
JP7341387B2 (ja) 2023-09-11
JP2023164805A (ja) 2023-11-14
EP4191203A1 (en) 2023-06-07

Similar Documents

Publication Publication Date Title
Ab Wahab et al. A comparative review on mobile robot path planning: Classical or meta-heuristic methods?
Mirowski et al. Learning to navigate in cities without a map
Peralta et al. A comparison of local path planning techniques of autonomous surface vehicles for monitoring applications: The ypacarai lake case-study
Xia et al. Neural inverse reinforcement learning in autonomous navigation
TW201732739A (zh) 集中於物件的有效三維重構
JP2023164805A (ja) モデル生成装置、経路探索装置、モデル生成方法、及びモデル生成プログラム
Taniguchi et al. Hippocampal formation-inspired probabilistic generative model
Ntakolia et al. A swarm intelligence graph-based pathfinding algorithm based on fuzzy logic (sigpaf): A case study on unmanned surface vehicle multi-objective path planning
Qin et al. Deep imitation learning for autonomous navigation in dynamic pedestrian environments
Vazquez-Otero et al. Reaction-Diffusion based Computational Model for Autonomous Mobile Robot Exploration of Unknown Environments.
Hara et al. Moving object removal and surface mesh mapping for path planning on 3D terrain
Cheng et al. Local perception-based intelligent building outline aggregation approach with back propagation neural network
Zeng et al. Imperialist competitive algorithm for AUV path planning in a variable ocean
Tsompanas et al. Cellular automata applications in shortest path problem
CN114527759A (zh) 一种基于分层强化学习的端到端驾驶方法
Huang et al. Robotic organism targets regional coverage capture path planning for marine aquafarm based on value iteration network
Luu Comparing the motion planning methods Hybrid A* and RRT for autonomous off-road driving of bicycle vehicles
Ibrahim et al. An enhanced frontier strategy with global search target-assignment approach for autonomous robotic area exploration
WO2023063020A1 (ja) 経路計画システム、経路計画方法、ロードマップ構築装置、モデル生成装置、及びモデル生成方法
RU2808469C2 (ru) Способ управления роботизированным транспортным средством
Araújo et al. Cooperative observation of malicious targets in a 3d urban traffic environment using uavs
Huang Neuro-evolution search methodologies for collective self-driving vehicles
Caley Deep learning for robotic exploration
CN117928568B (zh) 基于人工智能的导航方法、模型训练方法及装置
Ghraizi et al. An overview of decision-making in autonomous vehicles

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: 21849538

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2021849538

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2021849538

Country of ref document: EP

Effective date: 20230228

NENP Non-entry into the national phase

Ref country code: DE